Optimizar apache en servidor vps o dedicado
Escrito por Angela Ruda en 12 October 2017 04:19 PM
|
|
1. Verificar si el consumo llego al limite de clientes o procesos ejecutados: Por ssh ejecutar: cat /usr/local/apache/logs/error_log | grep -i max Si identifica una linea similar a una de las siguientes: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting Esto indica que llego al limite, y es necesario que configure apache con un mayor número de procesos. Ingresar al WHM en la opción "Apache configuration", "Global configuration", "Mas Request process" aumentarlo en 100 unidades y también el parametro "Server limit" aumentarlo en 200 unidades. Guardar.
2. Vía SSH ejecute el siguiente comando para identificar posibles inconvenientes de ejecución PHP: service httpd fullstatus Este comando muestra un resumen del estado actual de apache: consumo, tiempo de vida, accesos que esta teniendo en ese momento, el tiempo de cada acceso y el estado. El resultado mostrado por el servidor incluira los siguientes encabezados: | Srv | PID | Acc | M | CPU | SS | Req | Conn | Child | Slot | Client | Protocol | VHost | Request | En la columna M se puede visualizar el estado de la solicitud a un archivo , y si esta aparece como "W", que quiere decir "sending reply" , estas solicitudes se quedan pegadas generando la carga lenta del elemento.
2.1 El estado "W" en solicitud de archivos PHP, normalmente se debe a una incorrecta programación del sitio web PHP como puede verificar en los siguientes enlaces: https://www.google.com.co/?gws_rd=ssl#q=mod_status+stuck+"sending+reply"+
2.2 Generalmente este tipo de errores de programación se presentan con algunos o todos los siguientes casos: - Scripts que inician escritura en sesión. - Scripts que no cierran la escritura en sesión. - Scripts que recibe parámetros vía GET (Por URL). - Scripts que tiene conexión con base de datos y no cierra la conexión después de su uso. - Scripts que no detallan el encabezado del tipo de elemento a mostrar correctamente.
3. Verificar el código fuente del archivo o script teniendo en cuenta: - Si utilizan session_start() deben cerrar la escritura de sesión. - Revisar si reciben parámetros vía GET. - Realizar una conexión a Mysql y no cerrar la conexión a mysql. - Envíar encabezados application/octet-stream para cualquier imagen, sin enviar su encabezado real. | |
|