Si una página tarda más de un par de segundos en procesarse, me gustaría que Apache la registre en alguna parte. es posible? Tengo muchos sitios, por lo que estaba buscando una forma automática de hacerlo en lugar de un código propietario para cada sitio.¿Hay alguna manera de que Apache log logre slow requests?
Respuesta
Eche un vistazo a http://httpd.apache.org/docs/2.2/mod/mod_log_config.html. Puede configurar un registro personalizado que incluya el tiempo necesario para atender la solicitud.
Por ejemplo:
LogFormat "%h %l %u %t \"%r\" %>s %b %D" common-time
añadiría el tiempo en microsegundos que se tardó en atender la solicitud como el último campo de su archivo de registro.
Se podría añadir que la línea a su httpd.conf, a continuación, en cada host virtual donde desea usarlo, agregue esta línea:
CustomLog logs/access_log_time common-time
También puede crear un nuevo LogFormat que contiene sólo exactamente lo que desee, tal como esto:
LogFormat "\"%r\" %D" measure-time
En su host virtual, puede tener múltiples registros, lo que podría tener:
CustomLog logs/access_log common
CustomLog logs/access_log_time measure-time
Dicho todo esto, hay una gran advertencia . Esto solo medirá el tiempo que le lleva al servidor atender la página. Es no incluir el tiempo que lleva ejecutar cualquier javascript en el navegador. Si necesita medir el tiempo de ejecución de javascript, necesitará usar una herramienta como firebug.
Una vez que tenga el registro, puede usar algo como apachelog para analizar el archivo de registro y obtener solo las solicitudes que tomaron más tiempo que el umbral que desea usar.
No estoy seguro si es posible registrar solo las solicitudes largas y sin embargo el paso de análisis sintáctico. Podría ser, pero tengo la sensación de que requeriría una gran cantidad de trabajo.
- 1. Websphere: log soap requests & responses
- 2. ¿Hay alguna manera de usar Jenkins con Github Pull Requests?
- 3. ¿Hay alguna manera de reescribir if/else en Apache htaccess?
- 4. ¿Hay alguna manera de controlar Apache con New Relic?
- 5. ¿Hay alguna manera de que pueda cambiar el orden de carga de Apache VirtualHosts primero?
- 6. ¿Hay alguna manera de hacer "git log -n 100 -from 200"?
- 7. ¿Hay alguna alternativa a Apache Commons SCXML?
- 8. ¿Hay alguna manera de hacer que Eclipse haga automáticamente todas mis variables definitivas?
- 9. ¿Hay alguna manera de hacer que Guice Grapher trabaje?
- 10. ¿Hay alguna manera de ignorar un caso que no coincide?
- 11. ¿Hay alguna manera de hacer que TFS se pueda enlazar?
- 12. ¿Hay alguna manera de comentar XAML que contiene comentarios?
- 13. ¿Hay alguna manera fácil de hacer que ScrollViewer sea "hinchable"?
- 14. ¿Hay alguna manera de hacer que un ExecutorService funcione recursivamente?
- 15. ¿Hay alguna manera de despertar un hilo que duerme?
- 16. ¿Hay alguna manera de que Asio funcione sin Boost?
- 17. ¿Hay alguna manera de hacer que UserControl sea inafocable?
- 18. ¿Hay alguna manera de verificar si existe un directorio en los archivos de configuración de Apache?
- 19. ¿Hay alguna manera de iniciar/reiniciar/detener el servidor Apache en Linux como usuario no root?
- 20. ¿Hay alguna manera de anular ConfigurationManager.AppSettings?
- 21. ¿Hay alguna manera de pausar una CABasicAnimation?
- 22. e.preventDefault - ¿hay alguna manera de hacerlo?
- 23. ¿Hay alguna manera de reenviar declarar covarianza?
- 24. ¿Hay alguna manera de omitir el parámetro?
- 25. ¿Hay alguna manera de animar diseños? [Android]?
- 26. ¿Hay alguna manera de evitar recursiones innecesarias?
- 27. ¿Hay alguna manera de desactivar una etiqueta?
- 28. ¿Hay alguna manera de "limpiar" una superficie?
- 29. ¿Hay alguna manera de desarrollar SmartArt personalizado?
- 30. ¿Hay alguna manera de cancelar StorageFile.CopyAsync()?
¿Hay alguna consecuencia de usar esto en el archivo de registro? Por ejemplo, ¿hay una sobrecarga adicional en el cálculo del tiempo de respuesta antes de escupir una línea de registro? – laughingbovine
Puede haber gastos generales, pero creo que debe tener un tráfico bastante importante antes de que tenga algún tipo de impacto notable en el rendimiento de su sitio/servidor. Sugiero usar [ab] (http://httpd.apache.org/docs/2.2/programs/ab.html) para probar antes y después de implementar este cambio para que tenga una idea de cómo funcionará para usted. – bradym
¿hay alguna manera de decir, solo inicie sesión si el tiempo de medida es> 1 segundo? –