我有一个运行LAMP的新的Ubuntu 12.10服务器。 我的网站几乎完全迁移,但是我遇到任何请求延迟一分钟的问题。
root@ubuntu:~# time curl http://localhost ... page output ... real 1m0.134s user 0m0.000s sys 0m0.016s
我已经看过这个问题无济于事。 我的/var/log/apache2/error.log有
[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
我也尝试了这里的build议没有成功。 任何人有任何其他的想法?
下一次有人遇到这个问题时,只需使用strace:
strace -Ff -s 512 php /path/to/index.php
strace在index.php上执行php二进制文件,同时显示php正在进行的所有系统调用。
如果一切正常,它会飞过你的方式更快,然后你可以阅读它。 但是,如果它挂起等待的东西,你可以按ctrl c来停止strace和读几行。 它将具有像连接到哪个IP的数据以及在哪个端口上。
这对于连接到外部网站来吸引ebay等内容的网站也是非常有用的,有时这些网站在ebays防火墙被阻止,并且网站将永远加载,直到超时。
事实certificate,我的主页试图连接到原始服务器的数据库; 这个数据库不允许外部连接。 DB有1分钟的超时时间。 我将页面连接到数据库的页面和以预期的速度加载的页面注释掉了(虽然没有加载预期的数据)。