LinuxParty
NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
En cada vez más negocios, 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 (de todo el mundo). 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 puede llegar a tener la "fruta madura" con el fin de hacer algunos cambios simples que le permita tener grandes beneficios de rendimiento.
Ajustar Apache:
Si su sistema está ejecutando un servicio llamado httpd, el servidor web que está corriendo 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 ocupar algunos artículos, pero aquí hay algunas cosas, que pueden 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:
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:
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):
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/
Ajustar Apache:
Si su sistema está ejecutando un servicio llamado httpd, el servidor web que está corriendo 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 ocupar algunos artículos, pero aquí hay algunas cosas, que pueden 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/
-
Apache
- Cómo cambiar el nombre del servidor Apache por cualquier cosa personalizando el servidor
- Cómo instalar Varnish y realizar una evaluación comparativa del servidor web
- 13 consejos para reforzar la seguridad del servidor web Apache en Servidores Linux
- Cómo administrar el servidor Apache usando la herramienta "Apache GUI"
- Crear un sitio web protegido, con usuario y contraseña
- Cómo instalar Joomla en Rocky Linux y AlmaLinux
- Incrementar el rendimiento de su Web usando Nginx como Proxy con Apache
- ¿Cómo usar IPv6 en Apache?
- Cómo configurar HTTPS en Apache Web Server con CentOS
- Usar el comando occ, cómo funciona.
- Redirigir todo tu viejo dominio al nuevo dominio a través de .htaccess
- Ejemplos y Trucos de uso y configuración del htaccess de Apache
- Seguridad de Joomla: Cómo asegurar su sitio web de Joomla durante la instalación
- Securizar tu servidor Web Apache con mod_security
- Asegurar tu servidor Web Apache con ModSecurity