我们的一台服务器今天比平均负载高出许多,持续高于正常水平。 我们的服务器pipe理员正在确保所有的都运行正常,但是这让我想知道如果服务器今天可能很忙。 这反过来让我想,有没有什么办法可以得到一个合理的准确的报告,有多less活跃网站访问者在整个服务器上的所有网站?
所有站点都是在CentOS 4.8上的apache 2上运行的PHP / MySQL – 显然,我们确实为每个站点提供了诸如google analytics / awstats / webaliser之类的东西,但是我只是想知道是否有一个可以运行的命令,可以为我们提供服务器上的活动用户STAT? 也许分析最近x分钟内活动会话的所有会话文件?
如果在apache中启用了mod_status,则可以访问一个页面,该页面将提供关于活动进程数量,空闲进程数量,正在处理的内容,每秒访问次数和数量的统计信息。
http://httpd.apache.org/docs/2.0/mod/mod_status.html
如果使用诸如munin( http://munin.projects.linpro.no/ )的监视框架,则可以随时查询页面并存储结果。 这会给你一个graphics显示负载看起来随着时间的推移,看看是否任何派克相关的盒子上的更高的负载。
另一种select是使用apachetop 。 这是一个顶级的实用工具,它显示Apache信息,包括每秒请求数,每秒字节数,最stream行的URL等。