有没有办法让 apache 在 top 和 ps 中显示它正在处理的 url?这将帮助我们更快地确定性能问题。
谢谢。
答案1
我认为这是不可能的(不修改源代码/编写模块),但除了 mod_status 之外,还有阿帕奇公用事业:
但是,我从未使用过它并且不确定,但它可能只是 mod_status 输出的 cli 接口。
答案2
不能使用top
或ps
,但您可以启用mod_status在 Apache 中。它将给出以下输出:
Srv PID Acc M CPU SS Req Conn Child Slot Client VHost Request
0-0 - 0/0/2680 . 74.29 49 316168 0.0 0.00 330.47 180.79.191.73 www.apache.org GET /dist//nutch/apache-nutch-1.2-bin.tar.gz HTTP/1.1
0-0 - 0/0/2576 . 74.04 49 0 0.0 0.00 212.42 2.2.208.99 www.apache.org GET /images/solaris.png HTTP/1.1
0-0 - 0/0/2766 . 74.02 49 0 0.0 0.00 202.77 82.193.224.70 mail-archives.apache.org GET /mod_mbox/tuscany-dev/200704.mbox/raw/_3Cc0c051b50704201042
0-0 - 0/0/3158 . 74.01 49 0 0.0 0.00 214.33 60.218.27.26 www.apache.org GET /1.3.8/struts-taglib/images/FreemarkerResult.html HTTP/1.0
0-0 - 0/0/2473 . 74.23 49 317004 0.0 0.00 79.76 180.79.191.73 www.apache.org GET /dist//nutch/apache-nutch-1.2-bin.tar.gz HTTP/1.1
0-0 - 0/0/3303 . 74.70 49 378802 0.0 0.00 157.20 115.249.106.133 archive.apache.org GET /dist/ant/binaries/apache-ant-1.8.0-bin.zip HTTP/1.1
0-0 - 0/0/2730 . 74.33 49 317609 0.0 0.00 106.99 180.79.191.73 www.apache.org GET /dist//nutch/apache-nutch-1.2-bin.tar.gz HTTP/1.1
0-0 - 0/0/2694 . 74.02 49 626 0.0 0.00 432.47 61.135.184.212 wiki-online.apache.org GET /velocity/HilfeZurAdministration HTTP/1.0
0-0 - 0/0/2542 . 74.27 49 308546 0.0 0.00 69.17 180.79.191.73 www.apache.org GET /dist//nutch/apache-nutch-1.2-bin.tar.gz HTTP/1.1
0-0 - 0/0/3241 . 74.67 49 324949 0.0 0.00 264.43 180.79.191.73 www.apache.org GET /dist//nutch/apache-nutch-1.2-bin.tar.gz HTTP/1.1
0-0 - 0/0/2804 . 74.47 49 304178 0.0 0.00 211.43 180.79.191.73 www.apache.org GET /dist//nutch/apache-nutch-1.2-bin.tar.gz HTTP/1.1
启用它很容易:
a2enmod info
将这些行添加到您的配置中(/etc/apache2/apache2.conf
):
ExtendedStatus On
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from .your_domain.com
</Location>
然后重新启动服务器
/etc/init.d/apache2 force-reload
如果你启用了此功能,你可以监控页面http://example.com/server-status?refresh=5
(如果你希望它每 5 秒刷新一次)