描述: | 提供有关服务器活动和性能的信息 |
---|---|
状态: | 基础 |
模块标识符: | status_module |
源文件: | mod_status.c |
状态模块允许服务器管理员找出其服务器的性能。将显示一个HTML页面,该页面以易于阅读的形式提供当前服务器的统计信息。如果需要,可以使该页面自动刷新(使用兼容的浏览器)。另一页提供了当前服务器状态的简单机器可读列表。
给出的详细信息是:
标线“(*)”是唯一可用的,如果
ExtendedStatus
是On
。在版本2.3.6中,加载mod_status ExtendedStatus
默认情况下会切换为“ 打开”。
要仅对example.com域中的浏览器启用状态报告,请将此代码添加到您的httpd.conf
配置文件中
<Location "/server-status"> SetHandler server-status Require host example.com </Location>
您现在可以通过使用Web浏览器访问页面来访问服务器统计信息
http://your.server.name/server-status
如果您的浏览器支持“刷新”,则可以获取状态页以自动更新自身。http://your.server.name/server-status?refresh=N
每N秒钟访问页面
以刷新页面。
通过访问页面可获得状态文件的机器可读版本
http://your.server.name/server-status?auto
。自动运行时很有用,请参阅Perl程序log_server_status
,该程序
可在/support
Apache HTTP Server安装目录中找到
。
mod_status
加载到服务器中,则其处理程序功能在所有配置文件中均可用,包括
按目录文件(例如,
.htaccess
)。这可能会对您的站点产生与安全性有关的后果。
该server-status
页面可以用作解决服务器正在消耗所有可用资源(CPU或内存)的情况的开始位置,并且您希望确定是哪些请求或客户端引起了问题。
首先,确保已ExtendedStatus
启用,以便可以看到每个子线程或线程的完整请求和客户端信息。
现在,在您的流程列表中查找(使用top
或类似的流程查看实用程序),以找出构成主要罪魁祸首的特定流程。top
根据您要解决的问题,按CPU使用率或内存使用率对输出进行排序。
重新加载server-status
页面,并查找那些进程ID,您将能够看到该进程为哪个客户端正在处理什么请求。请求是暂时的,因此可以说,您可能需要尝试几次才能将其发现。
此过程应使您了解什么客户端或哪种类型的请求主要负责您的负载问题。通常,您会发现行为异常的特定Web应用程序或攻击您的站点的特定客户端。