workers tuning threads prefork optimizar maxclients process apache

process - tuning - performance apache



Top y httpd: desmitificar lo que se está ejecutando (4)

Los scripts php suceden muy rápido, top no te mostraría demasiado. O pasaría rápidamente. La mayoría de webrequests son bastante rápidos.

Creo que su mejor opción sería tener algún tipo de procesador de registro en tiempo real, que vigilara sus registros de acceso y las estadísticas de actualizaciones del tiempo de ejecución promedio, el uso de memoria y cosas por el estilo.

A menudo uso el comando "superior" para ver qué recursos están ocupando. En su mayoría, aparece una larga lista de procesos httpd de Apache, que no es muy útil. ¿Hay alguna manera de ver una lista similar, pero de manera que pueda ver qué secuencias de comandos PHP, etc., están ejecutando esos procesos httpd?


Puede hacer que sus páginas PHP tengan tiempo ellas mismas y escribir su ruta y tiempo de ejecución en el archivo o la base de datos. Tenga en cuenta que ralentizaría todo mientras controlaba, pero sería un buen método de medición.

Sin embargo, no sería tan interactivo. Podrías obtener resultados diarios o semanales, pero sería difícil ver algo significativo en cuestión de minutos u horas.


Si le preocupan los procesos largos (es decir, las solicitudes que tardan más de uno o dos segundos en ejecutarse), podrá hacerse una idea de ellos utilizando el mod_status de Apache. Consulte la documentación y un ejemplo de la salida (desde www.apache.org). Esto no es exclusivo de PHP, sino que se aplica a todo lo que se ejecute dentro de un proceso de apache.

Tenga en cuenta que la salida de estado de www.apache.org está a disposición del público, presumiblemente para fines de demostración; le conviene restringir el acceso al suyo para que no todos puedan verlo.


Existe una utilidad basada en ncurses llamada apachetop que proporciona análisis de registro en tiempo real para Apache. Desafortunadamente, el proyecto ha sido abandonado y el código sufre de algunos errores, sin embargo, en realidad es muy útil. Simplemente no lo ejecute como root, ejecútelo como cualquier usuario con acceso a los archivos de registro del servidor web y debería estar bien.