Answers:
我的/etc/httpd/conf/httpd.conf文件包含以下部分:
# Allow server status reports generated by mod_status,
# with the URL of http://servername/server-status
# Change the ".example.com" to match your domain to enable.
#
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from .example.com
Allow from 127. 192.168.1.
</Location>
因此,如果我转到http://192.168.1.1/server-status,则会得到一个页面,告诉我:
最近的要求
192.168.3.1的Apache服务器状态
服务器版本:Apache / 2.2.3(Red Hat)
服务器内置:2009年7月14日06:04:04
当前时间:2010年7月17日星期六10:20:31 CDT
重新启动时间:2010年7月17日星期六10:13:12 CDT
父服务器生成:0
服务器正常运行时间:7分钟19秒
总访问次数:51-总计流量:156 kB
CPU使用率:u0 s0 cu0 cs0
.116请求/秒-363 B /秒-3132 B /请求
1当前正在处理的请求,7个空闲工人
__W _____........................................ .......
............................................................. .....................
............................. ...................................
............... ..................................................................
记分板键:
“ _”等待连接,“ S”正在启动,“ R”正在阅读请求,
“ W”正在发送回复,“ K” Keepalive(已读),“ D” DNS查找,
“ C”正在关闭连接,“ L” “日志记录,” G“优美地完成,
” I“空闲清理工人”。没有当前进程的开放插槽
Srv PID Acc M CPU SS Req Conn子插槽客户端VHost请求
0-0 20715 0/2/2 _ 0.00418 0 0.0 0.01 0.01 192.168.3.97 dit GET / server-status HTTP / 1.1
1-0 20716 0/49/49 _ 0.00 128 0 0.0 0.15 0.15 192.168.3.97 dit GET /服务器状态HTTP / 1.1
2-0 20717 0/0/0 W 0.00 0 520222374 0.0 0.00 0.00 192.168.3.97 dit GET /服务器状态HTTP / 1.1
strace
可以告诉您特定进程在系统调用级别上正在执行的操作,但不会让您“ 50英尺”查看正在发生的事情。您需要将正在使用的系统调用组合在一起,以弄清楚这一点。
如果您的网站带有数据库后端,则可以在DBMS中查看当前正在运行哪些命令。也许这可以帮助您缩小在网站代码中生成负载的位置。
否则,您可以增加httpd守护程序的日志级别。然后,您将在日志中获得更多信息。
还有ltrace,其作用类似于strace,但可用于库调用。
您可能会发现比ps更有用的信息。
ExtendedStatus ON
以查看每个请求