Cuando realizo un proceso de strace en Apache, veo muchos gettimeofday antes y después de la solicitud GET, incluso cuando Apache devuelve un archivo estático como un archivo de imagen. Resulta en un largo período de inactividad antes de que Apache 2.4 (con php 5.6, fcgid) responda a la solicitud GET.
1616 0.000048 lectura(156, "GET / HTTP/1.1\r\n", 8000) = 16 1616 0.000099 gettimeofday({1430592206, 931114}, NULL) = 0 1616 0.000044 gettimeofday({1430592206, 931156}, NULL) = 0 1616 0.000035 read(156, 0x7f01d4007018, 8000) = -1 OTRA VEZ (Recurso no disponible temporalmente) 1616 0.000042 encuesta([{fd=156, events=POLLIN}], 1, 7915439 1670 0.020724 <... epoll_wait reanudado> {}, 100, 100) = 0 1670 0.000039 gettimeofday({1430592206, 951998}, NULL) = 0 1670 0.000037 gettimeofday({1430592206, 952034}, NULL) = 0 1670 0.000033 gettimeofday({1430592206, 952066}, NULL) = 0 1670 0.000032 epoll_wait(155, {}, 100, 100) = 0 1670 0.100265 gettimeofday({1430592207, 52366}, NULL) = 0 1670 0.000041 gettimeofday({1430592207, 52405}, NULL) = 0 1670 0.000033 gettimeofday({1430592207, 52437}, NULL) = 0 1670 0.000033 epoll_wait(155, {}, 100, 100) = 0 1670 0.100324 gettimeofday({1430592207, 152804}, NULL) = 0 1670 0.000066 gettimeofday({1430592207, 152865}, NULL) = 0 1670 0.000073 gettimeofday({1430592207, 152941}, NULL) = 0 1670 0.000060 epoll_wait(155, {}, 100, 100) = 0 1670 0.100251 gettimeofday({1430592207, 253247}, NULL) = 0 1670 0.000039 gettimeofday({1430592207, 253284}, NULL) = 0 1670 0.000032 gettimeofday({1430592207, 253316}, NULL) = 0 1670 0.000032 epoll_wait(155, {}, 100, 100) = 0 1670 0.100241 gettimeofday({1430592207, 353597}, NULL) = 0 1670 0.000061 gettimeofday({1430592207, 353653}, NULL) = 0 1670 0.000071 gettimeofday({1430592207, 353727}, NULL) = 0 1670 0.000045 epoll_wait(155, {}, 100, 100) = 0Hay muchos de ellos antes de que el servidor realmente devuelva la respuesta a GET.
Que he hecho:
- He configurado ExtendedStatus desactivado en httpd.conf por si acaso.
- He seguido el consejo del equipo de Red Hat al hacer un
eco "kernel.vsyscall64 = 2" >> /etc/sysctl.conf
Y editando syctl después. - eco 1 > /proc/sys/kernel/vsyscall64
Eso aumentó ligeramente la velocidad de respuesta de Apache 2.4 pero sigue siendo lenta y hay mucho Gettimeofday. No tengo modsecurity y solo módulos estándar de Apache. Sin embargo, sospecho que es un módulo.
He comprobado si era ioncube 5.0.2 pero no lo era.
¿Es normal? En caso negativo, ¿crees que podría provenir de un módulo de Apache?
editar: parece que coincide con 3 marcas de tiempo copiadas en 3 registros, anotando tres errores/advertencias.
gracias.