¿Cuánto VPS RAM necesitaría para ejecutar Wordpress, Apache, SVN y MySQL?

20

¿Alguien tiene una cifra aproximada de cuánto RAM VPS (sin burstable) necesitaría tener apache con WordPress y Subversion, así como la instancia de MySQL?

Apache alojaría un par de sitios y SSL. MySQL tendría solo la base de datos de Wordpress. Estos sitios tienen poco tráfico, menos de 1k visitas al día.

Kyle Brandt
fuente

Respuestas:

19

Tenga en cuenta que cada trabajador de Apache consumirá entre 20 y 25 MB, por lo que si sus visitas de 1k estuvieran igualmente espaciadas en 8 horas por día, puede pensar en atender solo 0.03 solicitudes por segundo.

Suponiendo que tiene todo su tráfico concentrado en solo 1 hora en el día (no lo es, por supuesto), debe atender aproximadamente 0.28 solicitudes por segundo.

Otro problema es la cantidad de memoria que tiene su base de datos, sin embargo, es fácil de saber y tiene un costo bastante fijo.

En el peor de los casos, tendrá que transferir todo el DB (¡Dios mío! ¡Refactorice su SQL en este caso! :)) ... así que duplique el número anterior ...

La respuesta corta es (en mi humilde opinión) 128 MB será suficiente, en abundancia. Su servidor estará inactivo y la memoria estará libre durante mucho tiempo, dado el tráfico que se imagina.

Tengo 20 dominios en un VPS con 256 MB desde hace 3 años, están bien ... y el total de visitas es de aproximadamente 1500-2000 ...

OK, la memoria es barata hoy en día, pero chicos ... ¿saben cuánto es un gigabyte?

PD: Estoy hablando de un sistema Linux, por supuesto, no del sistema operativo que consume 4 GB solo para la interfaz gráfica de usuario :)

drAlberT
fuente
13

Para el uso de poco tráfico que está describiendo, debería estar bien con un plan pequeño (256 MB - 384 MB). Cuando se instalan Apache y MySQL, sus configuraciones predeterminadas asumen que están trabajando con más RAM disponible, lo que puede causar problemas. Use lo siguiente como un buen punto de partida y ajústelo según sea necesario:

En su archivo de configuración de Apache 2 (normalmente se encuentra en /etc/apache2/apache2.conf o /etc/apache2/httpd.conf):

StartServers 1
MinSpareServers 3
MaxSpareServers 6
ServerLimit 24
MaxClients 24
MaxRequestsPerChild 3000

En su archivo de configuración de MySQL (normalmente se encuentra en /etc/mysql/my.cnf):

key_buffer = 16K
max_allowed_packet = 1M
thread_stack = 64K
table_cache = 4
sort_buffer = 64K
net_buffer_length = 2K

Además, si no usa las tablas de InnoDB, debe deshabilitar el soporte de InnoDB agregando la siguiente línea:

skip-innodb
tasaro
fuente
Tengo varias de estas líneas mencionadas en apache2.conf. cambiarlos a todos? se etiquetan: prefork MPM, worker MPM,event MPM
VSYNC
2

Estaba teniendo problemas con la mía a 512 MB de RAM hasta que cambié a FastCGI. Eso hizo que el rendimiento mejorara mucho. Tenía 30 MB gratis (sin contar el caché, por supuesto) hasta entonces, y terminé con más de 100 MB gratis.

Su kilometraje puede variar, por supuesto, dependiendo del tráfico de su sitio. Y una vez que el tráfico comienza a aumentar, puede cambiar a nginx.

Para comprarme algo de comodidad, subí a 1GB.

Por cierto, estoy alojado en prgmr.com , y todavía no he visto a nadie tocar sus precios.

Matt Simmons
fuente
1
Gracias por prgmr.com, me encanta el eslogan "No asumimos que eres estúpido". :-)
Kyle Brandt
Sí, eso, junto con el hecho de que Luke ofrece descuentos en los productos de gama baja a los miembros de LOPSA, es por eso que fui con ellos
Matt Simmons
Sé que es demasiado viejo, pero ahora supongo que digitalocean es donde la gente puede decir que nadie puede vencerlos :)
Ali
1

Estoy ejecutando una configuración similar en un VPS con 256 MB de RAM, pero ejecuto lighttpd en lugar de Apache. Primero probé Apache, pero fue demasiado para el VPS de 256 MB. Si quieres usar Apache, te diría que puedes hacerlo con 512 MB de RAM.

Dependiendo de quién use para su alojamiento de VPS, puede comenzar con un VPS más pequeño y luego aumentar el tamaño si es necesario sin tener que volver a configurar el servidor.

Jason Alford
fuente
0

Debería estar bien con 1 GB, pero elija 2 GB si puede, es un paso de rendimiento importante para la mayoría de los sistemas operativos modernos.

Chopper3
fuente
1
1 GB sería masivo por matar por 1k golpes al día.
ceejayoz
Estás asumiendo que está ejecutando Linux, ¿y si quiere ejecutar Windows 2008 de 64 bits?
Chopper3
Tenga en cuenta que esto es para un servidor que ejecuta Apache, MySQL y PHP. Para Apache en particular, no me gustaría usar un servidor de Windows.
thomasrutter
0

Uso nginx + php-fastcgi en lugar de Apache, pero con una carga de aplicación muy similar. Uso svn + ssh para mi acceso de subversión, por lo que no hay un proceso de svnserve ejecutándose, excepto cuando accedo al repositorio. Todo esto se ejecuta en Ubuntu 8 LTS.

En este momento, estoy ejecutando a 174 mB de 256 mB, y el sitio web es bastante receptivo (tiempo de respuesta promedio de 500 ms para las vistas de Wordpress)

             total       used       free     shared    buffers     cached
Mem:           256        252          3          0         22         56
-/+ buffers/cache:        174         81
Swap:          511         12        499

Recomiendo mirar un servidor web frontend ligero como nginx o lighttpd en lugar de Apache + mod_php. Incluso Apache + mod_fastcgi proxy para php-fastcgi tomaría menos memoria.

Si va por la ruta de Apache, mi instinto dice que 512mB probablemente haría el truco. 1 o 2 gB de memoria parece una exageración considerable, especialmente teniendo en cuenta cómo la mayoría de los proveedores de VPS aumentan sus costos cuando se llega a configuraciones más grandes.

James F
fuente
0

He estado luchando con esto por un tiempo.

La configuración de AlbertT funcionó brillantemente. La configuración de mysql hizo una clara diferencia y ahora los navegadores del sitio son geniales. http://laterboltz.com

En su archivo de configuración de MySQL (normalmente se encuentra en /etc/mysql/my.cnf):

key_buffer = 16K max_allowed_packet = 1M thread_stack = 64K table_cache = 4 sort_buffer = 64K net_buffer_length = 2K

Además, si no usa las tablas de InnoDB, debe deshabilitar el soporte de InnoDB agregando la siguiente línea:

skip-innodb


fuente