httpd开启status模块_查看Apache的请求数和开启Apache Server Status

本文介绍了在Linux环境下,通过命令行工具监控Apache服务器的负载情况和并发请求。包括使用`ps -ef | grep httpd | wc -l`统计httpd进程数,`netstat -nat | grep-i 80 | wc -l`查看80端口的请求总数,以及`netstat -na | grep ESTABLISHED | wc -l`检查已建立的连接数。此外,还讲解了如何开启和配置Apache的ServerStatus模块以获取更详细的服务器状态信息。

在Linux下查看Apache的负载情况,以前也说过,最简单有有效的方式就是查看Apache Server Status(如何开启Apache Server Status点这里),在没有开启Apache Server Status的情况下,或安装的是其他的Web Server,比如Nginx的时候,下面的命令就体现出作用了。

ps -ef|grep httpd|wc -l命令#ps -ef|grep httpd|wc -l

1388

统计httpd进程数,连个请求会启动一个进程,使用于Apache服务器。

表示Apache能够处理1388个并发请求,这个值Apache可根据负载情况自动调整,我这组服务器中每台的峰值曾达到过2002。

netstat -nat|grep -i “80″|wc -l命令

#netstat -nat|grep -i “80″|wc -l4341

netstat -an会打印系统当前网络链接状态,而grep -i “80″是用来提取与80端口有关的连接的, wc -l进行连接数统计。

最终返回的数字就是当前所有80端口的请求总数。

netstat -na|grep ESTABLISHED|wc -l命令

#netstat -na|grep ESTABLISHED|wc -l         ---------个人测试此命令比较准确

376

netstat -an会打印系统当前网络链接状态,而grep ESTABLISHED 提取出已建立连接的信息。 然后wc -l统计。

最终返回的数字就是当前所有80端口的已建立连接的总数。

netstat -nat||grep ESTABLISHED|wc -   可查看所有建立连接的详细记录

查看Apache的并发请求数及其TCP连接状态:

Linux命令:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

(这条语句是从 新浪互动社区事业部 新浪互动社区事业部技术总监王老大那儿获得的,非常不错)

返回结果示例:

LAST_ACK 5

SYN_RECV 30

ESTABLISHED 1597

FIN_WAIT1 51

FIN_WAIT2 504

TIME_WAIT 1057

其中的SYN_RECV表示正在等待处理的请求数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理

完毕,等待超时结束的请求数。

----------------------------------------------打开Apache Server Status

Apache的日志又多又杂,如果靠分析日志或者查看服务器进程来监视Apache运行状态的话,比较繁冗。其实在Apache 1.3.2及以后的版本中就自带一个查看Apache状态的功能模块server-status

打开Apache Server Status

如果你的Apache配置文件httpd.conf或者extra/httpd-info.conf中有LoadModule status_module modules/mod_status.so话,说明你的Apache已经加载了此模块;或者编译的时候加上了–enable-module=so也表明服务器支持server-status。

如果Apache没有加载这个模块,如果是linux服务器,就得重新编译Apache,加上–enable-module=so参数即可;如果你是windows系统的话,无需任何编译,只要把刚才时候说的LoadModule status_module modules/mod_status.so这句加上,如果前面有带#号,开启的话,需要将#去除。

配置Apache Server Status

SetHandler server-status

Order Deny,Allow

Deny from all

Allow from 192.168.200.75[客户端]

ExtendedStatus On

这是一个完整的server-status的配置。

第一行的ccvita-server-status表示以后可以用类似http://www.ccvita.com/c-server-status来访问,同时

http://www.ccvita.com/c-server-status?refresh=N将表示访问状态页面可以每N秒自动刷新一次;

Deny from表示禁止的访问地址,如果访问报错可将此行注释,但是安全性会降低;

Allow from表示允许的地址访问。这里应该写允许的客户端IP,似乎不应该是域名比如window:192.168.200.75;

ExtendedStatus On表示的是待会访问的时候能看到详细的请求信息,另外该设置仅能用于全局设置,不能在特定的虚拟主机中打开或关闭。启用扩展状态信息将会导致服务器运行效率降低。

Apache Server Status for localhost

Server Version: Apache/2.2.4 (Win32) PHP/5.1.4Server Built: Jan 9 2007 23:17:20

Current Time: Sunday, 16-Aug-2009 12:13:12 中国标准时间Restart Time: Sunday, 16-Aug-2009 09:52:16 中国标准时间Parent Server Generation: 2Server uptime: 2 hours 20 minutes 56 secondsTotal accesses: 3 - Total Traffic: 0 kB.000355 requests/sec - 0 B/second - 0 B/request1 requests currently being processed, 249 idle workers

________________________________________________________________

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值