Site do Wordpress com resposta extremamente lenta (somente para o primeiro pedido)

2

Eu tenho um problema estranho com o meu site wordpress ( link ). O "primeiro pedido" leva séculos para responder. Quaisquer respostas subseqüentes se comportam normalmente. Coisas que observei durante a depuração

  • Limpando o cache do navegador e recarregando funciona bem e a página carrega rápido o suficiente
  • Limpar os cookies e recarregar reproduz o problema.
  • nslookup etc não leva tempo (excluindo assim problemas de pesquisa de DNS)
  • O problema parece ser reproduzível em outras máquinas / redes (excluindo problemas de rede / máquina local)
  • Nada nos logs de consulta lenta do mysql

Assim, defino "primeira solicitação" neste contexto como uma solicitação sem cookies definidos para o domínio. Outra maneira fácil de reproduzir esse problema é usar curl e não enviar cookies. Esta é a saída do curl -v

$ time curl -v rohitnair.info
* About to connect() to rohitnair.info port 80 (#0)
* Trying 23.21.171.95... connected
* Connected to rohitnair.info (23.21.171.95) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.19.7 (i386-redhat-linux-gnu) libcurl/7.19.7 NSS/3.12.9.0 zlib/1.2.3 libidn/1.18 libssh2/1.2.2
> Host: rohitnair.info
> Accept: */*
> 

espera longa

[resposta]

* Connection #0 to host rohitnair.info left intact
* Closing connection #0

real    1m0.518s
user    0m0.003s
sys 0m0.011s

Como pode ser visto, o servidor leva mais de um minuto para retornar a resposta.

A pilha é wordpress + nginx e hospedada na instância micro do Amazon EC2. Também notei que a solicitação não aparece no log de acesso do nginx até que a resposta seja atendida ou a solicitação seja cancelada (não tenho certeza se isso é um comportamento esperado). Estou completamente perdido sobre o que poderia estar causando esse problema. Qualquer ajuda seria muito apreciada!

    
por Rohit Nair 02.05.2012 / 06:56

1 resposta

3

Você ainda não excluiu o DNS, porque nslookup não é o mesmo que nginx ou PHP executando a requisição. Veja os pedidos de DNS para ver se algum deles é patentemente bobo.

Sempre que algo é inesperadamente lento (solicitação HTTP, conexão ssh inicial, etc), mas apenas lento no começo , geralmente é uma solicitação reversa de DNS que está expirando.

    
por 02.05.2012 / 07:05