川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > IT资讯

性能测试系统学习教程之status模块监控

作者:川石学院 日期:2021-07-14 10:45:03 点击数:

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

性能测试系统学习教程之status模块监控(图1)

  使用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配置文件中添加这行代码即可。

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

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

  图10-1 基本信息

  如果需要显示所有的状态信息,需要将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服务器的状态信息,如果正确,则会显示如图10-2所示的详细信息。

  性能测试系统学习教程之status模块监控(图3)

  图10-2 详细信息

  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秒动态刷新一次详细信息,结果如图10-3所示。

  性能测试系统学习教程之status模块监控(图4)

  图10-3 详细动态信息

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

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

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

  4.   ReqPerSec:平均每秒请求数;

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

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

  7.   BusyWorkers:正在工作数;

  8.   IdleWorkers:空闲工作数;

  9.   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

  性能测试系统学习教程之status模块监控(图5)

  统计部分内容信息含义依次为:到目前为止Apache接收的联机数量及传输的数据量、已发送的总的字节数、平均每秒请求数、平均每秒发送的字节数、平均每个请求发送的字节数、当前正在请求的线程数、空闲的结程数。

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

  •   _:等待连结中。

  •   S:启动中。

  •   R:正在读取要求。

  •   W:正在送出回应。

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

  •   D:正在查找DNS。

  •   C:正在关闭连结。

  •   L:正在写入记录文件。

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

  •   I:处理闲置。

  •   .:尚无此程序。

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

  性能测试系统学习教程之status模块监控(图6)

  表10-1 各列含义

  HTTP详细的请求信息如下:

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

  2.   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

  3.   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

  4.   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

  5.   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

  6.   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

  7.   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

  8.   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

  各选项的含义:

  1.   Srv:表示子进程

  2.   PID:子进程的进程号

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

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

  5.   CPU:表示CPU使用情况

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

  7.   Req:表示一共发的请求数

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

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

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

  本章节主要讲解了关于“性能测试系统的status模块监控”的内容,大家喜欢的话记得每天来这里和小编一起学习涨薪技能哦。


相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2021-07-14 10:45:03
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2021-07-14 10:45:03
  • 国外的月亮也不一定比国内测试猿的年薪美~2021-07-14 10:45:03
  • 建筑工程专业朱同学成功转行为软件测试人!2021-07-14 10:45:03
  • 财务管理专业转行软件测试月薪甩会计几条街!2021-07-14 10:45:03
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2021-07-14 10:45:03
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2021-07-14 10:45:03
  • 文科生转行软件测试照样拿下高薪15K!2021-07-14 10:45:03
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2021-07-14 10:45:03
  • 毕业1年,迷茫的他最终选择转行软件测试2021-07-14 10:45:03