On this page
Apache 模块 mod_status
Description: | 提供有关服务器活动和性能的信息 |
---|---|
Status: | Base |
Module Identifier: | status_module |
Source File: | mod_status.c |
Summary
状态模块允许服务器 Management 员找出其服务器的性能。将显示一个 HTML 页面,以易于阅读的形式提供当前服务器的统计信息。如果需要,可以使该页面自动刷新(使用兼容的浏览器)。另一页提供了当前服务器状态的简单机器可读列表。
给出的详细信息是:
服务请求的 Worker 数
空闲 Worker 数
每个工作程序的状态,该工作程序已执行的请求数以及该工作程序所服务的字节总数(*)
服务的访问总数和字节数(*)
服务器启动/重新启动的时间及其已运行的时间
给出每秒请求数,每秒服务字节数和每个请求的平均字节数(*)的平均值
每个工作人员当前使用的 CPU 百分比,所有工作人员总计使用的 CPU 总数(*)
当前正在处理的主机和请求(*)
标记为“(*)”的行仅在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
来访问服务器统计信息。
Automatic Updates
如果您的浏览器支持“刷新”,则可以获取状态页以自动更新自身。每 N 秒访问页面http://your.server.name/server-status?refresh=N
以刷新页面。
机器可读状态文件
通过访问页面http://your.server.name/server-status?auto
可获得状态文件的机器可读版本。自动运行时很有用,请参阅 Perl 程序log_server_status
,您可以在 Apache HTTP Server 安装目录的/support
目录中找到该程序。
It should be noted that if mod_status is loaded into the server, its handler capability is available in all configuration files, including per-directory files (e.g., .htaccess). This may have security-related ramifications for your site.
使用服务器状态进行故障排除
server-status
页可以用作解决服务器消耗所有可用资源(CPU 或内存)的情况的开始位置,并且您希望确定是哪些请求或 Client 端引起了问题。
首先,请确保已启用ExtendedStatus,以便可以看到每个子线程或线程的完整请求和 Client 端信息。
现在,在您的进程列表中查找(使用top
或类似的进程查看 Util),以找出是主要罪魁祸首的特定进程。根据您要解决的问题,按 CPU 使用率或内存使用量对top
的输出进行排序。
重新加载server-status
页面,并查找那些进程 ID,您将能够看到该进程为哪个 Client 端提供服务的请求。请求是暂时的,因此可以说,您可能需要尝试几次才能将其发现。
这个过程应该让您知道什么 Client 端或哪种类型的请求主要负责您的负载问题。通常,您会发现行为异常的特定 Web 应用程序或攻击您的站点的特定 Client 端。