脚本执行——性能测试学习笔记之 LoadRunner实战(5)

发表于:2018-1-26 11:36

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

 作者:杨婷 编著    来源:51Testing软件测试网原创

  6.3  数据监控操作演练
  6.3.1  Windows指标监控
  场景设置成功后,除了Controller自带的常规监控指标外,我们需要增加对当前操作系统的监控,监控方法操作如下。
  步骤1:在Available Graphs区域下找到System Resources->Windows Resources,并将其拖曳到右边的资源监控区域,如图6-53所示。
  图6-53  Windows Resources页面区域
  【补充说明】:在资源监控区域单击鼠标右键,可以对区域图表的展示方式进行调整,可以只显示一张图、二张图、四张图、八张图。如图6-54所示。
  图6-54  View Graphs
  步骤2:选择Windows Resources图标,单击鼠标右键,选择添加度量项Add Measurements,出现Windows Resources对话框,然后单击对话框的“Add”按钮,出现Add Machine对话框,如图6-55所示。
  图6-55  Add Machine Name
  在Name处输入被监控设备的IP地址,因Web Tours示例程序安装在LR12的服务器上,所以被监控的对象是192.168.1.103(本地IP地址)。
  步骤3:设置完成后单击OK按钮,在Windows Resources对话框中将看到若干个待监控的指标选项。如图6-56所示。
  图6-56  监控指标
  这些指标中的大多数Lucy感到很陌生,对这些并不完全理解的指标全部监控并没有实际意义,于是Lucy给Mary打了通电话,询问Mary对监控指标的看法。
  Lucy:Mary,我现在遇到了件头痛的事,我想利用LR自带的监控指标对Window操作系统进行监控,但被监控的指标实在太多啦,而且很多指标我并不完全理解。
  Mary:这是很正常的,最开始我对很多指标也不了解,哪怕是现在对部分指标也只是略知一二。
  Lucy:那你们是如何解决的?
  Mary:很简单,先选择你看得懂的指标,然后逐步扩展一些关键性指标。
  Lucy:我目前能看懂的就是CUP、内存和I/O相关的指标。那我是否在监控后只看这些指标就可以了?
  Mary:目前你可以在监控前去掉其余指标的,只保留你能看懂的,等有了具体项目再进行扩展。而且监控的越多,对机器的额外压力也会越大。
  Lucy:好的,那我理解了,我会照你说的做,先学着监控几个基本指标(也就是自己能看懂的)。
  通话后,Lucy删除了下方所有的监控指标,通过“Add”按钮,手动查找并添加了如下指标,如图6-57所示。
  图6-57  监控指标筛选
  步骤4:筛选完成后,单击Windows Resources对话框中的确认按钮,Controller将持续监控指定的操作系统(注意:并不是只在场景运行期间监控),Windows指标监控设置结束。如图6-58所示。
  图6-58  监控Windows指标
  【补充说明】:使用LoadRunner直接监控Windows指标,实际上调用的是Windows自带的资源管理器。为了保证LoadRunner的监控准确性,我们可以通过对比两边的监控指标排除LoadRunner自身可能存在的问题。
  访问方式:开始菜单->管理工具->性能监视器,如图6-59所示。
  图6-59  性能监视器对话框
  默认状态下计数器指标只有% Processor Time,在计数器区域单击鼠标右键选择“添加计数器”选项,可以根据需要添加相关监控指标。如图6-60所示。
  图6-60  添加计数器对话框
  LR监控Windows系统资源指标,详见附录C“LR主要计数器指标”。
  学习笔记
  监控指标不是越多越好,指标的学习需要具备计算机原理和操作系统相关知识,随着项目实践的增加而不断扩展,只有通过大量实践去慢慢理解和掌握。
  6.3.2  Apache指标监控
  因Web Tours示例程序使用Apache作为应用服务器,下面我们将和Lucy一起学习在Controller中监控Apache相关指标的方法。
  步骤1:找到Apache服务器中的httpd配置文件,开启自带的server-status辅助分析工具。文件默认路径为C:\Program Files (x86)\HP\LoadRunner\WebTours\conf。
  步骤2:打开并修改配置文件。
  该文件中有许多可被调用的模块,前面有“#”开头的代表该模块代码已被注释,在运行中不生效。我们需要启动LoadModule status_module modules/mod_status.so,如图6-61所示。
  启动该模块后需要在httpd配置文件中添加如下代码:
  <Location /server-status>
      SetHandler server-status 
      Order deny,allow  
  #    Deny from all    
       Allow from all     
  </Location>
  ExtendedStatus On

  Order deny,allow:表示访问控制顺序;Deny from all:表示禁止的访问地址;Allow from all:表示允许的访问地址;ExtendedStatus On:表示启动server-status。
  图6-61  httpd配置文件
  步骤3:配置完成后,重启Apache,通过URL访问到server-status。访问地址为http://192.168.1.103:1080/server-status(本书Web Tours示例程序IP地址为192.168.1.103),如果可以正确显示信息说明配置成功。如图6-62所示。
  图6-62  Apache状态信息1
  如果想要了解详细的状态信息,可以在URL地址加上两个参数。
  ?auto:表示Apache服务器处于访问状态下的动态信息。
  ?refresh=N:表示每隔N秒后重新获取一次动态信息。
  例如,http://192.168.1.103:1080/server-status?auto&refresh=5 表示每隔5秒动态刷新一次服务器信息,如图6-63所示。
  图6-63  Apache状态信息2
  Total Accesses:到目前为止Apache接受到的连接数量及传输的数据量。
  Total kBytes:接受的总字节数。
  Uptime:服务器运行的总时间。
  ReqPerSec:平均每秒请求数。
  BytesPerSec:平均每秒发送的字节数。
  BytesPerReq:平均每个请求发送的字节数。
  BusyWorkers:正在工作数。
  IdleWorkers:空闲工作数。
  【特别说明】:BusyWorkers+ IdleWorkers=服务器同时允许的线程数。
  步骤4:在Controller的“Run”选项卡中,在Available Graphs区域,选择Web Server Resource Graphs->Apache并将其拖曳到右侧的资源监控区域。
  步骤5:添加度量项的步骤同Windows指标监控类似。单击鼠标右键,选择Add Measurements,添加待监控的Apache服务器的IP地址,最后选择要添加的监控指标,注意端口号设为1080(WebTours演示程序端口),如图6-64所示。
  图6-64  LR为 Apache添加监控项对话框
  步骤6:添加监控项后我们发现Apache监控成功,但部分指标监控失败,如图6-65所示。
  图6-65  Controller_Apache的监控指标1
  未能被监控的指标有3个,它们依次是#BusyServers、#Idle Servers、Apache CPU Usage。我们可以通过修改LR的默认计数器配置文件来对Apache的监控项进行调整。
  默认计数器配置文件访问地址为<LoadRunner 根文件夹>/dat/monitors目录下的 apache.cfg文件。
  打开该文件,发现LR监控的指标和Apache server-status的监控名称并不相符,需要调整监控指标的命名:
  (1)BusyServers改为BusyWorkers
  #Counter4=BusyServers
  Counter4=BusyWorkers
  Label4=#Busy Servers (Apache)
  Description4=Number of servers in the Busy state
  (2)IdleServers改为IdleWorkers
  #Counter0=IdleServers
  Counter0=IdleWorkers
  Label0=#Idle Servers (Apache)
  Description0=Number of servers in the Idle state.
  【特别说明】:因Web Tours自带的Apache服务器没有提供CPU相关度量项,所以本次无需度量Apache CPU Usage。这也从另一个角度告知我们,只要是Apache server-status提供的度量项,都可以在LoadRunner apache.cfg文件中添加。
  调整apache.cfg文件后,需要重启Controller,这点非常重要,再次添加Apache监控指标,结果如图6-66所示。
  图6-66  Controller_Apache的监控指标2
  【补充说明】:在apache.cfg文件中,我们可以依据需要对Delimiter=:后默认服务器属性进行修改。
  Delimiter=:
  infoURL=/server-status?auto 
  serverPort=80
  SamplingRate=0  
  infoURL:表示服务器统一信息RUL。
  serverPort:表示服务器默认端口。
  SamplingRate:表示LoadRunner轮询服务器获取统计信息的时间间隔,单位为毫秒。
  如果SamplingRate大于1000,LoadRunner 将使用该值作为采样速率。否则LoadRunner 将使用在“选项”对话框的“监控器”选项卡中定义的采样速率。
  如果要通过防火墙监控Apache 服务器,请使用 Web 服务器端口(默认情况下使用端口80)。
  LR监控Apache服务器资源指标,详见附录C“LR主要计数器指标”。
  学习笔记?
  LoadRunner对服务器资源的监控,从本质上来讲都是利用服务器自带的辅助软件完成的,只要理解了辅助软件的监控原理就能配置好Controller的监控指标。如果有更好的监控方式我们可以同LR12集成,没有必要否定LR12对各类服务器指标的监控能力。

本文选自《性能测试学习笔记之 LoadRunner实战》第六章,本站经人民邮电出版社和作者的授权。
版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号