如何判断 apache 当前正在服务哪些请求

tyl*_*erl 1 php web-server apache-2.2

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

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

有任何想法吗?

顺便说一句:我对“slowloris”DOS 攻击很熟悉,这不是我要说的。

Aln*_*tak 5

打开 中的ExtendedStatus标志httpd.conf

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

  • ExtendedStatus 绝对很棒——尽管在最坏的情况下它会对性能产生明显的影响,所以最好在需要时打开和关闭它。 (2认同)