Muitos gettimeofday no Apache 2.4 + fcgid + centos 6.6 - Longo tempo de espera para arquivos estáticos

Muitos gettimeofday no Apache 2.4 + fcgid + centos 6.6 - Longo tempo de espera para arquivos estáticos

Quando executo um strace no processo Apache, vejo muitos gettimeofday antes e depois da solicitação GET, mesmo quando o Apache retorna um arquivo estático como um arquivo de imagem. Isso resulta em um longo período de inatividade antes que o Apache 2.4 (com php 5.6, fcgid) responda à solicitação GET.

1616 0,000048 leitura(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 EAGAIN (Recurso temporariamente indisponível)
1616 0,000042 enquete([{fd=156, events=POLLIN}], 1, 7915439
1670 0,020724 <... epoll_wait retomado> {}, 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}, NULO) = 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}, NULO) = 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}, NULO) = 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}, NULO) = 0
1670 0,000071 gettimeofday({1430592207, 353727}, NULL) = 0
1670 0,000045 epoll_wait(155, {}, 100, 100) = 0
Existem muitos deles antes que o servidor realmente retorne a resposta ao GET.

O que eu fiz:

  • Eu configurei o ExtendedStatus em httpd.conf apenas para garantir.
  • Segui o conselho da equipe Red Hat fazendo um
    echo "kernel.vsyscall64 = 2" >> /etc/sysctl.conf
    e editando o sysctl posteriormente.
  • eco 1 > /proc/sys/kernel/vsyscall64

Isso aumentou ligeiramente a velocidade de resposta do Apache 2.4, mas ainda é lento e há muito Gettimeofday. Não tenho modsecurity e apenas módulos padrão do Apache. No entanto, suspeito de um módulo.

Verifiquei se era o ioncube 5.0.2, mas não era.

Isso é normal? Se não, você acha que poderia vir de um módulo do Apache?

editar: parece que corresponde a 3 carimbos de data/hora copiados para 3 logs, anotando três erros/avisos.

obrigado.

informação relacionada