LoaRunner性能测试系统学习教程:status模块监控(2)

关于apache监控通常会有两种方法:一是使用apache自带的status监控模块进行监控;二是使用apachetop工具进行监控。本文将会详细的介绍status监控模块进行监控。

status模块监控

status模块是为服务器管理来获取服务器性能的相关信息,这些信息将以一个HTML页面的方式来显示,该页面以比较简单的阅读方式来显示当前服务器的统计信息,并且还可以自动刷新的方式来实时显示这些统计信息。

使用status模块监控apache服务器的步骤如下:

1.开启status模块

Apache服务器中的httpd配置文件中有很多可被调用的模块,主要包括以下模块:

# LoadModule 

foo_module modules/mod_foo.so

LoadModule 

access_module modules/mod_access.so

LoadModule

actions_module modules/mod_actions.so

LoadModule 

alias_module modules/mod_alias.so

LoadModule 

asis_module modules/mod_asis.so

LoadModule 

auth_module modules/mod_auth.so

#LoadModule

auth_anon_module modules/mod_auth_anon.so

#LoadModule 

auth_dbm_module modules/mod_auth_dbm.so

#LoadModule 

auth_digest_module modules/mod_auth_digest.so

LoadModule 

autoindex_module modules/mod_autoindex.so

#LoadModule 

cern_meta_module modules/mod_cern_meta.so

LoadModule 

cgi_module modules/mod_cgi.so

#LoadModule 

dav_module modules/mod_dav.so

#LoadModule 

dav_fs_module modules/mod_dav_fs.so

LoadModule

dir_module modules/mod_dir.so

LoadModule

env_module modules/mod_env.so

#LoadModule

expires_module modules/mod_expires.so

#LoadModule 

file_cache_module modules/mod_file_cache.so

#LoadModule 

headers_module modules/mod_headers.so

LoadModule 

imap_module modules/mod_imap.so

LoadModule

include_module modules/mod_include.so

#LoadModule 

info_module modules/mod_info.so

LoadModule

isapi_module modules/mod_isapi.so

LoadModule 

log_config_module modules/mod_log_config.so

LoadModule 

mime_module modules/mod_mime.so

#LoadModule 

mime_magic_module modules/mod_mime_magic.so

#LoadModule 

proxy_module modules/mod_proxy.so

#LoadModule 

proxy_connect_module modules/mod_proxy_connect.so

#LoadModule 

proxy_http_module modules/mod_proxy_http.so

#LoadModule 

proxy_ftp_module modules/mod_proxy_ftp.so

LoadModule 

negotiation_module modules/mod_negotiation.so

#LoadModule 

rewrite_module modules/mod_rewrite.so

LoadModule 

setenvif_module modules/mod_setenvif.so

#LoadModule 

speling_module modules/mod_speling.so

LoadModule 

status_module modules/mod_status.so

#LoadModule 

unique_id_module modules/mod_unique_id.so

LoadModule 

userdir_module modules/mod_userdir.so

#LoadModule 

usertrack_module modules/mod_usertrack.so

#LoadModule 

vhost_alias_module modules/mod_vhost_alias.so

LoadModule 

ssl_module modules/mod_ssl.so

前面有“#”号的代码,表示该代码被注释不生效,如果需要该行代码生效,那么需要将前面的“#”号取消。

监控Apache的状态需要启动

LoadModule 

status_module modules/mod_status.so模块。

2.设置扩展日志信息

设置扩展日志信息的命令如下:

语法:

ExtendedStatus On|Off

默认值:

ExtendedStatus Off

这个功能仅在apache 1.3.2或更高版本才可以使用。

在httpd.conf配置文件中添加这行代码即可。

默认情况下,只能看到以下一些基本信息,如图所示。

如果需要显示所有的状态信息

需要将ExtendedStatus的值设置为On,该选项的缺省值为Off,所以正常情况下只能看到如图10-1所示的基本信息,在监控过程中需要将该选项的值设置为On,以便显示Apache服务器所有的状态信息。

3.设置SeeRequestTail

该指令是使用设置显示请求的前63个字符还是显示最后63个字符。

语法:

SeeRequestTail On|Off

默认值:

SeeRequestTail Off

这个功能仅在apache 2.2.7或更高版本才可以使用。

在httpd.conf配置文件中添加这行代码即可。

4.设置访问status权限

服务器的状态信息是通常

“server-status”中的“handler”

调用,server-status的代码如下:

    SetHandler server-status

    Order deny,allow

    Deny from all

    Allow from all

Deny from:表示禁止的访问地址;

Allow from:表示允许的地址访问;

注意:在监控之前一定要启动

“server-status”模块

否则SetHandler无法读到服务器的状态信息,进而导致监控失败。

5.启用监控

现在可以通过使用

Web浏览器访问页面来访问服务器统计信息

http://your.server.name/server-status。

测试是否可以正确的显示Apache服务器的状态信息,如果正确,则会显示如图所示的详细信息。

6.状态信息自动更新

关于显示详细状态还有两个参数:

?refresh=N:设置每N秒后动态刷新一次详细信息(?refresh=5表示每5秒钟刷新一次),如果不设置具体的时间间隔(如?refresh),那么缺省值为每1秒钟动态刷新一次详细信息。

?auto:表示服务器处于访问状态下的动态态信息;

其语法格式为

http://your.server.name/server-status?refresh=N

http://localhost/server-status?auto&refresh=5

表示每5秒动态刷新一次详细信息,结果如图所示。

Total Accesses:到目前为此Apache接收的联机数量及传输的数据量;

To kBytes:接收的总的字节数;

Uptime:服务器运行的总时间(单位秒);

ReqPerSec:平均每秒请求数;

BytesPerSec:平均每秒发送的字节数;

BytesPerReq:平均每个请求发送的字节数;

BusyWorkers:正在工作数;

IdleWorkers:空闲工作数;

BusyWorkers加IdleWorkers的和为服务所允许的同时工作的线程数,配置文件中同时允许的最多线程中的设置项为ThreadsPerChild

其缺少值为250

即ThreadsPerChild=BusyWorkers+IdleWorkers。

只输入http://IP/server-status,则只显示相关的统计信息,而非动态信息,信息内容如下:

Apache Server Status for localhost

Server Version: Apache/2.0.59 (Win32) mod_ssl/2.0.59 OpenSSL/0.9.8e PHP/5.2.5

Server Built: Jul 21 2006 08:48:52

Current Time: Thursday, 29-Nov-2012 19:41:08中国标准时间

Restart Time: Thursday, 29-Nov-2012 18:53:47中国标准时间

Parent Server Generation: 0

Server uptime: 47 minutes 21 seconds

Total accesses: 626 - Total Traffic: 1.3 MB

.22 requests/sec - 468 B/second - 2124 B/request

1 requests currently being processed, 249 idle workers

________________________________________________________________

________________________________________________________________

________________________________________________________________

_________________________________________________________W......

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

Scoreboard Key:

"_" Waiting for Connection, "S" Starting up, "R" Reading Request,

"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,

"C" Closing connection, "L" Logging, "G" Gracefully finishing,

"I" Idle cleanup of worker, "." Open slot with no current process

表示当前所有线程在处理请求时所处于的状态。线程处理主要的状态包括以下几种:

"_":表示等待连接

"S":表示连接开始,可以发送请求

"R":表示读请求的状态

"W":表示服务器正响应回复数据的状态

"K":表示保持长连接状态

"D":表示域名解析状态

"C":表示连接正在关闭

"L":表示正在退出

"G":表示退出完成

"I":表示空闲的线程

".":表示当前线程没的打开slot

统计部分内容信息含义依次为:

到目前为止Apache接收的联机数量及传输的数据量、已发送的总的字节数、平均每秒请求数、平均每秒发送的字节数、平均每个请求发送的字节数、当前正在请求的线程数、空闲的线程数。

关于M列的状态主要包括以下几种:

_:等待连结中。

S:启动中。

R:正在读取要求。

W:正在送出回应。

K:处于保持联机的状态。

D:正在查找DNS。

C:正在关闭连结。

L:正在写入记录文件。

G:进入正常结束程序中。

I:处理闲置。

.:尚无此程序。

关于请求表格中各列的含义见表。

HTTP详细的请求信息如下:

Srv PID Acc M   CPU     SS  Req Conn    Child     Slot Client    Protocol      VHost   Request

0-2 6880     0/148/148   _    356.50  0    1786     0.0 0.95     0.95     192.168.40.134  http/1.1      192.168.40.129:80   POST /ecshop3/user.php HTTP/1.1

0-2 6880     0/153/153   W  353.67  1    0    0.0 0.98     0.98     192.168.40.134  http/1.1 192.168.40.129:80      POST /ecshop3/user.php HTTP/1.1

0-2 6880     0/150/150   W  351.29  1    0    0.0 0.98     0.98     192.168.40.134  http/1.1 192.168.40.129:80      POST /ecshop3/user.php HTTP/1.1

0-2 6880     0/154/154   W  353.97  3    0    0.0 0.96     0.96     192.168.40.134  http/1.1 192.168.40.129:80      POST /ecshop3/user.php HTTP/1.1

0-2 6880     0/164/164   W  354.19  0    0    0.0 1.06     1.06     192.168.40.134  http/1.1 192.168.40.129:80      POST /ecshop3/user.php HTTP/1.1

0-2 6880     0/162/162   W  355.96  0    0    0.0 1.03     1.03     192.168.40.134  http/1.1 192.168.40.129:80      POST /ecshop3/user.php HTTP/1.1

0-2 6880     0/154/154   _    356.59  0    1890     0.0 0.98     0.98     192.168.40.134  http/1.1      192.168.40.129:80   POST /ecshop3/user.php HTTP/1.1

各选项的含义:

Srv:表示子进程

PID:子进程的进程号

Acc:表示连接数量、子进程、slot

M:表示当前请求所处的状态

CPU:表示CPU使用情况

SS:表示当前一共有多少请求

Req:表示一共发的请求数

Conn:表示当前连接传输的字节数

Child:表示每个进程传输的字节数

Slot:表示当前slot一共传输了多少字节数

你可能感兴趣的:(LoaRunner性能测试系统学习教程:status模块监控(2))