swe*_*edo 5 php mysql apache trace dtrace
我无法弄清楚我的PHP后端有问题。请求API(PHP代码返回json)时,我遇到了一些apache进程的间歇性“挂起”现象。
Apache永远不会传递文件(html,css,js等),只是触发问题的API调用数量有限。该请求在Chrome开发者工具的“网络”标签apachectl restart中处于待处理状态,即使我运行,重启后请求仍处于待处理状态。我看到httpd运行时所有进程都不会停止apachectl stop。我必须杀了他们killall -9 httpd。
发生问题时,我必须停止Apache,杀死所有httpd进程,然后再次启动apache。如果我不重新启动,大多数API调用将挂起(可能是分配给挂起的子进程的调用)。
触发问题的API调用全部包括对MySQL的调用。
检查mysql服务器上的进程列表,连接已建立但处于SLEEP状态。
这个问题听起来像是代码问题还是配置问题?
错误日志(mysql和apache)未显示任何内容,所以我想我应该尝试strace(dtruss在Mac上)apache进程。我怎么做?
-
环境:
| 归档时间: |
|
| 查看次数: |
703 次 |
| 最近记录: |