drupal – 如何为挂起的网站调试nginx / php-fpm?

我需要一些关于如何调试挂起的新服务器配置的提示.这个站点本身就是Drupal的一个非常大的例子.与每页加载45 MB的PHP内存一样大,具有APC功能.

站点本身使用Nginx / PHP-fpm / apc在另一台服务器上运行.我正在设置的新服务器有一个自定义PHP 5.3版本.

Nginx配置为侦听端口80,并将fastcgi请求传递给127.0.0.1:9000.这有效.

在Drupal根目录中,我有一个带有PHPinfo()的普通PHP文件;在里面.我可以直接加载这个PHP文件并确认PHP构建看起来不错.

没有Nginx错误,但是PHP-fpm错误日志会在页面挂起时显示

[2012年12月22日17:41:16]警告:[pool www] child 19760,脚本’/var/www/mysite/public_html/index.PHP'(请求:“GET /index.PHP”)执行速度太慢(5.068781秒),记录

除了这个错误,没有什么.

考虑到正常的PHP脚本加载正常,我正在寻找有关调试方法的建议,但加载Drupal应用程序(直接到index.PHP,甚至不尝试干净的URL)都会挂起.

最佳答案
当你在PHP-fpm错误日志中看到错误日志条目时,它实际上提供了一个缓慢的PHP进程的有用堆栈跟踪.

PHP-fpm配置文件(例如/etc/PHP-fpm.d/www.conf)中,查看request_slowlog_timeout和slowlog设置.第一个定义请求被视为“慢”的秒数,后者定义将写入堆栈跟踪的文件.

如果你看看PHP-fpm slowlog文件,你会更好地了解你的进程挂起的方法调用堆栈的确切位置.

相关文章

###进入nginx 目录cd /usr/local/nginx###递归显示 2 级目录...
在cmd命令窗口输入下面命令进行查看 tasklist /fi "ima...
Nginx显示500错误原因和解决方法
linux系统下启停nginx的命令
nginx 的 default_server 指令可以定义默认的 server出处理一...
Nginx是一款轻量级的 Web 服务器、反向代理服务器,由于它的...