Test Foro de elhacker.net SMF 2.1

Sistemas Operativos => GNU/Linux => Mensaje iniciado por: ccrunch en 17 Noviembre 2014, 14:56 PM

Título: Acelerar apache (page_speed+varnish?)
Publicado por: ccrunch en 17 Noviembre 2014, 14:56 PM
Hola a todos, tengo una web con miles de visitas y a veces va lenta. El servidor tiene centos con apache instalado.

He pensado en dos cosas:
-reemplazar apache por nginx
-instalar page_speed+varnish

QUé creéis que es lo mejor? Qué recomendáis?

Salu2!
Título: Re: Acelerar apache (page_speed+varnish?)
Publicado por: #!drvy en 17 Noviembre 2014, 16:02 PM
Nginx en estas cosas es muy superior y algo mas estable que Apache por como maneja  las visitas. También depende de que mod mpm usas en Apache.. el prefork o el worker.

Eso de que "a veces va lenta" tendrías que mirar porque es y no tirarte de cabeza a cambiar el httpd. Recuerda que hay muchas variables como el script que uses, el cms, la BD especialmente si tiene alguna slow query.

Si estas decidido a cambiar yo te recomendaría cambiar a nginx en vez de intentar seguir con Apache, es algo lioso al principio pero luego te acostumbras. Si usas PHP y el prefork tendras que reinstalar PHP para que use FPM pero poco mas.

mod_pagespeed (si estamos hablando del de Google) no te va a ayudar si tu server sufre en procesar las peticiones pues tiene mas bien optimizaciones client-side y a lo sumo igual añade incluso mas carga al server.

En fin, en mi opinión, consulta primero donde tienes el problema para que se vuelva mas lento, luego mira si puedes solucionarlo cambiando la configuracion (httpd.conf) cambiando los valores de los workers y los child proc... si no se arregla entonces ya si intenta cambiar a otro MPM o a Nginx.

Saludos
Título: Re: Acelerar apache (page_speed+varnish?)
Publicado por: el-brujo en 17 Noviembre 2014, 16:38 PM
usar un acelerador de php también se nota mucho y  mejora mucho el rendimiento (más velocidad y bajan las cargas). PHP 5 ya viene con el opcaché por defecto, pero para PHP 4 te recomiendo APC (Alternative PHP Cache)

También optimizar el MySQL obtienes grandes beneficios. Tienes que analizas las consultas lentas, cuál es el ratio de lectura/escritura, aumentar la caché, buffers, uso de índices, etc.

También es verdad que el apache consume muchos recursos comparado con ngnix. En el foro pusimos Apache con page_speed (de Google) y consumía muchos recursos (sobre todo CPU) y eso que era un Dual Xeon (8 Cores).

A parte de eso, pues una cpu rápida, memoria ram y discos duros (ssd) rápidos suelen dar muy buen rendimiento para un servidor web.
Título: Re: Acelerar apache (page_speed+varnish?)
Publicado por: ccrunch en 17 Noviembre 2014, 16:47 PM
El problema que veo es que se usa plesk como panel de control, entonces toda configuración que haga, o puede corromper los ficheros de configuración, o la próxima vez que se haga un cambio borrará las líneas que yo he puesto, etc.

El cliente me dio el servidor para administrarlo y es que plesk me pone mas zancadillas que ayudarme. Si quiero instalar un módulo de apache por ejmplo o usar nginx en vez de apache, habrán más problemas que si no existiera plesk, que genera archivos y es un estorbo.

La versión de PHP instalada es la 5.4 o 5.5, no recuerdo bien, y hay más líos porque han hecho un cacao los del hosting y lo de plesk, que otra cosa.

Por ejemplo tiene 8 GB de RAM, hay visitas a la web pero no mucho y están ocupados más de 7GB, menuda burrada.

Por ejemplo hay 4 procesos así ahora mismo:
Citar1948 apache    20   0  328m  12m 2076 S  0.7  0.2   0:25.43 httpd

Citartop - 16:44:08 up XXX days, XX:XX,  1 user,  load average: 0.84, 1.11, 1.18
Tasks: 191 total,   2 running, 189 sleeping,   0 stopped,   0 zombie
Cpu(s): 27.7%us,  3.2%sy,  0.0%ni, 68.8%id,  0.1%wa,  0.0%hi,  0.2%si,  0.0%st
Mem:   8158432k total,  7639320k used,   519112k free,  1034472k buffers
Swap:  2104508k total,    79384k used,  2025124k free,  5537940k cached

El problema que veo es eso, problemas de RAM: (abajo, procesos que más consumen)
Citar[root@XXXXXXXXX]# ps aux --width 30 --sort -rss | head
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
mysql    21373  120  0.7 1166920 58456 ?       Sl   10:42 439:20 /usr/libexec/mysqld --bas
root     21493  0.0  0.2 335764 19600 ?        Ss   10:42   0:00 /usr/sbin/httpd
10000    23503  0.3  0.2 169512 19472 ?        SLs  11:01   1:14 proftpd: gmd4994933 - 83.
10000     7358 10.1  0.1 190868 14700 ?        S    16:45   0:05 /usr/bin/php-cgi -c /var/
10000     7413  6.7  0.1 190628 14284 ?        S    16:45   0:02 /usr/bin/php-cgi -c /var/
10000     7351  7.8  0.1 189456 13760 ?        S    16:45   0:04 /usr/bin/php-cgi -c /var/
apache    1999  0.1  0.1 337704 13728 ?        S    12:06   0:25 /usr/sbin/httpd
apache   23131  0.1  0.1 337500 13660 ?        S    10:57   0:31 /usr/sbin/httpd
apache    1959  0.1  0.1 337428 13652 ?        S    12:06   0:26 /usr/sbin/httpd


Título: Re: Acelerar apache (page_speed+varnish?)
Publicado por: MinusFour en 17 Noviembre 2014, 17:31 PM
¿De cuantas visitas estamos hablando?

Yo hace mucho que lo que quiero probar es poner a nginx adelante para servir documentos estaticos (imagenes, css, js, html, etc) y usarlo como proxy para contenido dinamico (a apache).

https://www.digitalocean.com/community/tutorials/how-to-configure-nginx-as-a-reverse-proxy-for-apache

Lo mejor de los dos mundos.
Título: Re: Acelerar apache (page_speed+varnish?)
Publicado por: ccrunch en 17 Noviembre 2014, 17:34 PM
Cita de: MinusFour en 17 Noviembre 2014, 17:31 PM
¿De cuantas visitas estamos hablando?

Yo hace mucho que lo que quiero probar es poner a nginx adelante para servir documentos estaticos (imagenes, css, js, html, etc) y usarlo como proxy para contenido dinamico (a apache).

https://www.digitalocean.com/community/tutorials/how-to-configure-nginx-as-a-reverse-proxy-for-apache

Lo mejor de los dos mundos.
Posiblemente 2000 al día.

Salu2

PD: tengo configurado nginx como proxy inverso.
Título: Re: Acelerar apache (page_speed+varnish?)
Publicado por: #!drvy en 17 Noviembre 2014, 17:37 PM
CitarPosiblemente 2000 al día.

Eso no es nada! Para tu server deberia aguantar perfectamente.. Me da a mi que tienes mal configuradas las cosas xD

¿ El my.ini (de MySQL) como esta ? ¿ el httpd la config del mpm ?

PD: ¿ No tienes acceso SSH ?

Saludos
Título: Re: Acelerar apache (page_speed+varnish?)
Publicado por: MinusFour en 17 Noviembre 2014, 17:41 PM
Cita de: ccrunch en 17 Noviembre 2014, 17:34 PM
Posiblemente 2000 al día.

Salu2

PD: tengo configurado nginx como proxy inverso.

¿2000 al dia o concurrentes?

Yo veo apache en la lista de procesos, pero no veo ningun proceso de nginx?
Título: Re: Acelerar apache (page_speed+varnish?)
Publicado por: ccrunch en 17 Noviembre 2014, 17:42 PM
Cita de: MinusFour en 17 Noviembre 2014, 17:41 PM
¿2000 al dia o concurrentes?

Yo veo apache en la lista de procesos, pero no veo ningun proceso de nginx?
Al día, no concurrentes, de momento. nginx aparece a veces, pero apache es el que más.
Título: Re: Acelerar apache (page_speed+varnish?)
Publicado por: MinusFour en 17 Noviembre 2014, 17:58 PM
Algo me llama la atención:

Citar
Tasks: 191 total,   2 running, 189 sleeping,   0 stopped,   0 zombie

¿189 procesos durmiendo?

Vas a tener que revisar el estado de tus procesos de apache, ¿Tienes mod_status?

Código (bash) [Seleccionar]

apache2ctl status
# apachectl status

Título: Re: Acelerar apache (page_speed+varnish?)
Publicado por: ccrunch en 17 Noviembre 2014, 18:47 PM
Cita de: MinusFour en 17 Noviembre 2014, 17:58 PM
Algo me llama la atención:

¿189 procesos durmiendo?

Vas a tener que revisar el estado de tus procesos de apache, ¿Tienes mod_status?

Código (bash) [Seleccionar]

apache2ctl status
# apachectl status


En centos (no debian) cuando pongo eso sale:

The 'links' package is required for this functionality.
Título: Re: Acelerar apache (page_speed+varnish?)
Publicado por: MinusFour en 17 Noviembre 2014, 19:10 PM
Cita de: ccrunch en 17 Noviembre 2014, 18:47 PM
En centos (no debian) cuando pongo eso sale:

The 'links' package is required for this functionality.

Pues instala el paquete:

Código (bash) [Seleccionar]
yum install links

Por cierto, si tienes activado el modulo correctamente, deberías poder verlo desde

Código (URL) [Seleccionar]
http://127.0.0.1/server-status
Título: Re: Acelerar apache (page_speed+varnish?)
Publicado por: el-brujo en 17 Noviembre 2014, 19:30 PM
Habilita el server-status del apache

Las cargas tampoco son tan altas, deberían bajar de 1, pero no debería ser mayor problema.

Es normal que el mysql consuma mucha memoria ram o varios procesos del apache también es "normal".

Usar un panel de control como plesk tienes sus ventajas, como fácilidad de uso, pero también el iconveniente que comentas, te tienes que adpatar al software y versiones soportadas.

2.000 al día son pocas visitas, ¿Tamaño aproximado de la base de datos MysQL? ¿CMS utilizado?

Si usas Wodpress o parecidos debería mirar plugins del estilo: W3 Total Cache

Pues mirar el plugin Debug Objects para mirar el motivo por el que tarda tanto en cargar el index que me tiene muy mosca la verdad.

También he añadido W3 Total Cache, para que el WP vaya más rápido.

Si tiene instalado el APC (Alternative PHP Cache) (igual que el foro de elhacker.net con SMF) pero el WP no lo hace servir no sirve de nada.

Añadiir los módulos del apache --> deflate, expires y header (más rewrite)
Título: Re: Acelerar apache (page_speed+varnish?)
Publicado por: ccrunch en 17 Noviembre 2014, 19:46 PM
Cita de: el-brujo en 17 Noviembre 2014, 19:30 PM
Habilita el server-status del apache

Las cargas tampoco son tan altas, deberían bajar de 1, pero no debería ser mayor problema.

Es normal que el mysql consuma mucha memoria ram o varios procesos del apache también es "normal".

Usar un panel de control como plesk tienes sus ventajas, como fácilidad de uso, pero también el iconveniente que comentas, te tienes que adpatar al software y versiones soportadas.

2.000 al día son pocas visitas, ¿Tamaño aproximado de la base de datos MysQL? ¿CMS utilizado?

Si usas Wodpress o parecidos debería mirar plugins del estilo: W3 Total Cache

Pues mirar el plugin Debug Objects para mirar el motivo por el que tarda tanto en cargar el index que me tiene muy mosca la verdad.

También he añadido W3 Total Cache, para que el WP vaya más rápido.

Si tiene instalado el APC (Alternative PHP Cache) (igual que el foro de elhacker.net con SMF) pero el WP no lo hace servir no sirve de nada.

Añadiir los módulos del apache --> deflate, expires y header (más rewrite)
Hola!
El tamaño de la BD exacto no lo sé exactamente pero debe estar por 200MB o por ahí. No hay CMS, es programado desde 0.

Y el problema de los módulos del apache es... plesk  :xD
No me da la opción de añadir módulos, a no ser que los añada yo a mano, y ha creado tantos ficheros como le ha dado la gana. Para un sitio web, está el fichero de configuración de apache (servidor) luego en otras 99999999 carpetas hay ficheros httpd.conf y todo eso, a mi sí que me tiene mosca  :xD

Yo si los instalo y activo a mano la próxima vez que se haga un cambio en plesk lo sobreescribirá y mi trabajo se irá al traste :xD

Por no decir que ese servidor no se puede caer ni un segundo así que no puedo permitirme el lujo de "probar" o instalar módulos y que luego haya conflictos con plesk.

Gracias!
Título: Re: Acelerar apache (page_speed+varnish?)
Publicado por: JorgeEMX en 22 Noviembre 2014, 17:38 PM
Yo le voy a que sean tus querys. Puedes mirar los archivos PHP? Podrías poner alguno dónde se hagan sentencias SQL?