LoaRunner学习教程:status模块监控

发表于:2020-11-19 09:40

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:CSDN

  关于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的代码如下:
  <Location /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
  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一共传输了多少字节数

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号