O Apache tem um longo atraso antes de responder

1

Eu tenho um servidor Apache no CentOS que ocasionalmente leva de 1 a 5 segundos para exibir um arquivo, incluindo um arquivo de texto com 2 caracteres. Eu tenho um teste JMeter que obtém alguns tipos diferentes de arquivos, e o atraso geralmente acontece em qualquer arquivo que ele pega primeiro, mas nem sempre. Isto é verdade se existem vários pedidos em paralelo ou sequencialmente. As páginas que ele realmente precisa servir são PHP / Oracle, mas estou assumindo que o problema não está no código porque o PHP não está analisando o arquivo de texto (e eu confirmei isso).

  • HostnameLookups está desativado. Eu usei o /etc/http para confirmar que eu resolvi todos eles.
  • As pessoas dentro da rede e fora da rede experimentam o atraso.
  • Se eu executar o wget de dentro do próprio servidor, ele também estará sujeito ao atraso, o que me leva a pensar que não é um problema de DNS.
  • Quando o vejo no Apache Bench, ele mostra um atraso durante a conexão e o processamento.
  • Eu nunca vi o atraso em um ping.
  • Adicionamos temporariamente uma exceção ao firewall, mas a restauramos quando não fez diferença.
  • Eu defini MaxClients de acordo com a fórmula dada [aqui] ( link )
  • O servidor suporta SSL, mas os testes que estou executando geralmente testam sobre HTTP. De vez em quando executo testes em HTTPS, e sua velocidade é geralmente representativa de sua contraparte menos segura.
  • Estou usando o AllowOverride para analisar os arquivos .htaccess, mas quando o desativei e testei, ainda vi o mesmo atraso.
  • Existem muito poucas permissões de todos / recusar de todas as configurações ocultas no httpd.conf
  • Eu ainda estou olhando para o Apache MPM e valgrind.

Algumas configurações relevantes do Apache:

StartServers            8
MinSpareServers         5
MaxSpareServers        20
ServerLimit           256
MaxClients            136
MaxRequestsPerChild  4000

Algunsdosrecursosqueconsultei:

Qualquer ajuda seria muito apreciada. Obrigado.

    
por kjc26ster 21.02.2014 / 01:17

2 respostas

1

Um colega me apontou para esta página que recomendou adicionar o seguinte ao /etc/resolv.conf:

options single-request-reopen

Não tenho certeza se foi isso que consertou ou se foi uma combinação de várias coisas que tentei, mas outras pessoas que acessaram o recurso indicaram uma aceleração significativa depois que adicionei isso. Espero que ajude alguém.

    
por 02.05.2014 / 00:53
0

Mencione Latency no Listener de Tabela de Resultados da Visualização do JMeter.

De acordo com Os relatórios de carga

LATENCY is the delay involved for your request to reach the server.

Sugiro inspecionar sua configuração de rede, a melhor opção pode ser a ferramenta mtr .

Consulte o guia Como diagnosticar problemas de rede com o MTR para obter mais detalhes.

    
por 28.02.2014 / 13:58