Servidor Apache atrasando pedidos por um minuto

3

Eu tenho um novo e brilhante servidor Ubuntu 12.10 rodando o LAMP. Meu website está quase totalmente migrado, mas tenho um problema em que qualquer solicitação está atrasada por um minuto.

root@ubuntu:~# time curl http://localhost
... page output ...
real    1m0.134s
user    0m0.000s
sys 0m0.016s

Eu já analisei esta pergunta sem sucesso. Meu /var/log/apache2/error.log tem

[Fri Mar 29 20:15:30 2013] [error] (9)Bad file descriptor: apr_socket_accept: 
(client socket)
[Fri Mar 29 20:15:30 2013] [error] [client __.__.__.__] PHP Notice:  
Undefined index: HTTPS in /.../homepage/head.php on line 7, referer: 
http://.../login.php
[Fri Mar 29 20:15:30 2013] [error] [client __.__.__.__] PHP Notice:  
Undefined variable: selector in /.../home.php on line 37, referer: 
http://.../login.php

Eu também tentei as sugestões aqui sem sucesso. Alguém tem alguma outra ideia?

    
por Ryan Kennedy 29.03.2013 / 21:47

2 respostas

1

Acontece que minha homepage estava tentando se conectar ao banco de dados do servidor original; este banco de dados não permite conexões externas. O DB teve um tempo limite de 1 minuto. Eu comentei a linha onde minha página se conecta ao DB e a página carregada na velocidade esperada (embora sem carregar os dados esperados).

    
por 30.03.2013 / 18:23
2

Da próxima vez que alguém encontrar isso, use strace:

strace -Ff -s 512 php /path/to/index.php

strace executa o binário do php no index.php enquanto mostra todas as chamadas do sistema que o php está fazendo enquanto está indo.

Se tudo estiver funcionando corretamente, ele voará mais rápido do que você, então você poderá lê-lo. No entanto, se ele fica pendurado esperando por algo, você pode pressionar ctrl c para parar o strace e ler algumas linhas para cima. Ele terá dados como o IP ao qual está se conectando e em qual porta.

Isso também é muito útil para sites que se conectam a sites externos para obter conteúdo como o ebay; às vezes, os sites são bloqueados no firewall ebays e o site demora uma eternidade para ser carregado até que o tempo limite seja atingido.

    
por 30.03.2013 / 23:44