gpt4 book ai didi

php - 如何找出导致我的 PHP 应用程序挂起 Apache 服务器的原因?

转载 作者:行者123 更新时间:2023-12-02 15:40:04 25 4
gpt4 key购买 nike

我遇到了一个问题,我的 PHP 应用程序有时会挂起,Apache 服务器需要很长时间才能重新启动。有什么方法可以确定可能导致挂断的原因吗?

最佳答案

如果您使用的是 Linux 服务器,一个繁重的解决方案可能是跟踪您的 Apache 进程。

它将为您提供 Apache 进程完成的所有系统调用(和参数),并最终找到可能挂起的内容(或发现您的脚本试图获取它无法获取的资源 - 例如文件) t 读取,打开一个套接字并等待直到超时等)。

你这样调用它:

strace -f -p pid

pid 是您要跟踪的进程的 pid。

对于您的情况,我建议更改 Apache 服务器的配置(如有必要)以生成少量服务器。您可以使用常规 ps 命令获取它们的 pids。然后您可以通过添加 -p pid1 -p pid2 等同时跟踪多个 pid。您还可以使用 -o filename 和 -ff 将每个进程 strace 写入 filename.pid 文件。然后运行 ​​HTTP 请求。已处理您的请求的进程将在最大的 .pid 文件中。

还可以使用 -s size 来指定要捕获的文本的长度,例如在“写入”系统调用中,否则您可能会错过有趣的信息。

它可能难以阅读,但可以提供真正有用的信息。我经常在绝望的情况下使用它!

关于php - 如何找出导致我的 PHP 应用程序挂起 Apache 服务器的原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9033143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com