如何判断 apache 当前正在处理哪些请求

如何判断 apache 当前正在处理哪些请求

我曾多次遇到过 Apache 服务器在处理编写不当的 PHP 页面请求时“堵塞”的情况。查看 HTTP 状态页面,所有服务器都处于“W”状态。虽然有时可以使用日志和一些运气猜测找到有问题的网站,但在运行大量网站的系统上,使用日志几乎不可能找到有问题的脚本。

那么,有没有办法找出给定的 apache 进程“现在”正在处理的请求?我查看了 /proc/ 目录,没有发现任何有用的东西。我想 strace 可能会有所帮助,但前提是你在请求开始之前就找到了它。

有任何想法吗?

顺便说一句:我熟悉“slowloris”DOS攻击,这不是我所谈论的。

答案1

打开ExtendedStatushttpd.conf

您的服务器状态页面将列出正在提供的每个文件的 VHost 和 URI。

答案2

在 CentOS 上,你可以运行 /usr/local/apache/bin/apachectl fullstatus

相关内容