Ajuca


Le invitamos a unirse a nuestra comunidad, puede ser parte de nuestro equipo enviando un artículo.

 

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

Apache y MySQL forman la columna vertebral de muchos servidores web basados en Linux. De acuerdo con la Encuesta de agosto 2011 de servidores Web de Netcraft, Apache se ejecuta actualmente en 65,18% (o 301.771.518!) De los servidores web. Del mismo modo, MySQL es la base de datos de código abierto más popular y tiene una porción significativa de la cuota de mercado - en especial para el contenido web. Este artículo detallará cómo se puede llegar a la "fruta madura" con el fin de hacer algunos cambios simples que rendirá grandes beneficios de rendimiento.

Ajustar Apache:


Si su sistema se está ejecutando httpd, el servidor web es Apache, que sin duda se beneficiará de poder evaluar y modificar la configuración del servidor Web para asegurarse de que su sistema funciona sin problemas. Esto puede ser un tema muy amplio y algunos artículos, pero aquí hay algunas cosas que usted puede tratar, que puede proporcionar un gran impacto en su rendimiento. En primer lugar, asegúrese de que el valor de MaxClients un valor apropiado para su sistema. Esto variará en función de muchos factores -¿Qué tipo de contenido de su servidor está sirviendo, utiliza PHP u otros scripts que se están ejecutando, cómo están codificados, etc. Esto es un vistazo rápido de una línea que le mostrará la memoria promedio de cada proceso httpd está utilizando:

total=0; for memory in `ps aux | grep [h]ttpd | awk '{print $4}'`; \
do total=`echo "scale=2; $memory + $total" | bc`; done; \
echo -n "Average percentage of total memory: "; \
echo "scale=2; $total/ `ps aux | grep -c [h]ttpd`" | bc


Este comando suma el porcentaje total de memoria en uso por todos los procesos httpd y se destaca entre el número de procesos. Ciertamente no es perfecto, pero le dará una buena idea de lo que cada proceso está haciendo. Cuando me encontré con este comando en uno de mis servidores, que tenía un porcentaje medio del 0,18% del total de la memoria.

A continuación, usted querrá ver lo que su valor está establecido en MaxClients en la configuración de Apache. Digamos que está establecido en 256:

[root@server ~]# grep MaxClients /etc/httpd/conf/httpd.conf
 # ServerLimit: maximum value for MaxClients for the lifetime of the server
 # MaxClients: maximum number of server processes allowed to start
 MaxClients       256



Para determinar el máximo de memoria que puede utilizar Apache basado en la utilización de la memoria por medio de proceso de 0.18%, toma este valor multiplicado por el valor MaxClients. Esto nos da 46,08% de la memoria - y dentro de límites normales.

Para un rendimiento óptimo, querrá ajustar MaxClients configuración de Apache  de tal manera que pueda consumir no más del 70% de la memoria física disponible. Más alto corre el riesgo de que empiecen a emerger problemas, en gran medida por usar el espacio de intercambio, y esto puede hacer caer su servidor.

Si usted está viendo una utilización de la memoria muy alta por proceso, es posible que pudiera deberse a una pérdida de memoria. La mejor solución sería la de examinar el código de la aplicación para localizar y resolver la pérdida de memoria, pero a menudo esto no es una opción para los administradores de sistemas. Puede mitigar el daño mal codificado puede tener aplicaciones en el servidor mediante el ajuste de la directiva MaxRequestsPerChild. Cuanto mayor sea este valor, las solicitudes de más de un proceso hijo se encargará antes de que el proceso padre lo mate y genere una nueva. La reducción de este valor hará que Apache  recicle sus procesos child con mayor frecuencia, liberando la memoria, que de otra manera lo celebrará. Tendrá que trabajar para encontrar un equilibrio aquí como cada vez que Apache recicla un proceso hijo que debe utilizar tiempo de la CPU, por lo que establecer un valor demasiado alto puede causar problemas de utilización de la CPU.

También es una buena idea utilizar sólo los módulos de Apache que son realmente necesarios. Dependiendo de su origen de la instalación, es probable que se estén ejecutando varios y ha permitido algunos que no son necesarios y pueden, de hecho, abrir algunos agujeros de seguridad. Puede comprobar qué módulos están habilitados llamando al binario de Apache con las siguientes opciones (puede que tenga que modificar la ruta y el nombre del binario en función de su distribución):

/usr/sbin/httpd -t -D DUMP_MODULES


Vas a tener muchos outputted y otra vez, una investigación será necesaria para determinar exactamente lo que es necesario. Por ejemplo, puede que no necesite la proxy_* como proxy_balancer, proxy_ftp_module, etc A menudo se puede simplemente comentar estos en la configuración de httpd. El manual del servidor web Apache proporciona información completa sobre la mayor parte de estos módulos para que pueda determinar su necesidad:  http://httpd.apache.org/docs/2.2/

Pin It

Escribir un comentario


Código de seguridad
Refescar


Siguenos:


 
 

Ads Patrocinio Ajuca

Patrocine Ajuca: contrate por sólo 20€


Suscriberse a Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Buscar

¿Quien está online?

Hay 116 invitados y ningún miembro en línea

Formulario de Acceso

Filtro de Categorías

Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Ver política