jMeter - 监控测试计划

在本章中,我们将讨论如何使用JMeter创建测试计划来监控Web服务器.监视器测试的用法如下:

  • 监视器对压力测试和系统管理非常有用.

  • 与压力测试一起使用时,监视器提供有关服务器性能的其他信息.

  • 监视器使其成为可能更容易看到服务器性能与客户端响应时间之间的关系.

  • 作为系统管理工具,监视器提供了一种监视多个服务器的简便方法从一个控制台.

我们需要Tomcat 5或更高版本进行监控.出于测试目的,我们将监视Tomcat 7.0.42服务器.您可以测试任何支持Java Management Extension(JMX)的servlet容器.让我们编写一个测试用例来监视Tomcat服务器.让我们首先设置我们的tomcat服务器.

设置Tomcat服务器

我们首先打开Tomcat服务状态.为此,请编辑用户的配置文件< TOMCAT_HOME>/conf/tomcat-users.xml .此文件包含tomcat-users部分(已注释),如下所示 :

<tomcat-users>

<!--
   <role rolename = "tomcat"/>
   <role rolename = "role1"/>
   <user username = "tomcat" password = "tomcat" roles = "tomcat"/>
   <user username = "both" password = "tomcat" roles = "tomcat,role1"/>
   <user username = "role1" password = "tomcat" roles = "role1"/>
-->

</tomcat-users>

我们需要更改此部分以添加admin角色,manager,manager-gui并为用户分配"admin".修改后的文件如下 :

<tomcat-users>

   <role rolename = "manager-gui"/>
   <role rolename = "manager-script"/>
   <role rolename = "manager-jmx"/>
   <role rolename = "manager-status"/>
   <user username = "admin" password = "admin" roles = "manager-gui,manager-script,manager-jmx,manager-status"/>

</tomcat-users>

现在为Linux启动tomcat服务器< TOMCAT_HOME>/bin/startup.sh,为Windows启动< TOMCAT_HOME>/bin/startup.bat.启动后,通过在浏览器中输入以下链接来确认Tomcat监管是否有效;<

http://localhost:8080/manager/status?XML = true

浏览器中会出现一个身份验证窗口.输入关联的tomcat登录名和密码(在我们的例子中是admin).然后,浏览器将Tomcat的执行状态显示为 :

Tomcat Manager Status

从上面的屏幕截图中,我们可以注意到一些事项和减号;

  • 在网址中,请注意 XML = true (注意区分大小写)允许干净地显示JMeter运行所需的监督Tomcat.

  • 另请注意默认有两个连接器.通常使用的AJP连接器与mod_jk Apache HTTPD前端模块和HTTP连接器一起使用,HTTP连接器是通常用于通过端口8080直接访问Tomcat的连接器.

编写JMeter测试计划

让我们通过编写测试计划来监控Tomcat服务器 :

重命名测试计划

  • 单击/home/manisha/apache-jmeter2.9/bin/jmeter.sh打开JMeter窗口.

  • 单击"测试计划"节点.

  • 按照下一步中的说明添加线程组./p>

添加线程组

  • 右键单击测试计划 → 添加 → 线程(用户) → 线程组.线程组将添加到测试计划节点下.

  • 将循环计数更改为forever(或一些大数),以便生成足够的样本.

监控测试用户

HTTP授权管理器

  • 通过选择Add&rarr将HTTP授权管理器添加到线程组元素;配置元素 →  HTTP授权管理器.此元素管理浏览器请求的身份验证,以查看Tomcat服务器状态.

  • 选择HTTP授权管理器.

  • 编辑以下详细信息 :

    • 用户名 :  admin(取决于tomcat-users.xml文件中的配置)

    • 密码 :  admin(取决于tomcatusers.xml文件中的配置)

    • 其他字段为空.

HTTP授权管理器

添加采样器-HTTP请求

现在我们已经定义了用户,现在是时候定义他们将要执行的任务了.我们添加HTTP Request元素.

  • 右键单击鼠标按钮以获取添加菜单.

  • 选择Add → 采样器 →  HTTP请求.

  • 然后,在树中选择HTTP Request元素.

  • 编辑以下属性,如下图所示 :

  • 在此元素中输入以下详细信息 :

    • 名称 : 服务器状态

    • 服务器名称或IP :  localhost

    • 端口 :  8080

    • 路径 : /manager/status

    • 参数 : 以大写形式添加名为"XML"的请求参数.给它一个小写的"true"值.

    • 可选任务 : 选中采样器底部的"用作显示器".

监控测试采样器

添加常量计时器

要求定期服务器的状态,添加一个Constant Timer,允许每个请求之间的时间间隔.通过选择Add&rarr将计时器添加到此线程组;定时器 → 常量定时器.

线程延迟框中输入5000毫秒.通常,使用短于5秒的间隔可能会给服务器带来压力.在生产环境中部署监视器之前,找出可接受的间隔时间.

Monitor Constant Timer

添加监听器

您需要添加到测试计划的最后一个元素是监听器.我们添加了两种类型的侦听器.一个将结果存储在文件中,另一个显示结果的图形视图.

  • 选择线程组元素.

  • 添加一个简单的数据编写者监听器Add → 听众 → 简单数据编写器.

  • 指定输出文件的目录和文件名(在我们的例子中,它是/home/manisha/work/sample.csv)

监控简单数据编写器

  • 让我们通过选择测试计划元素Add&rarr来添加另一个监听器;听众 → 监控结果.

监控结果

运行测试计划

现在将上述测试计划保存为 monitor_test.jmx .使用Run&rarr执行此测试计划;启动选项.

查看输出

结果将保存在/home/manisha/work/sample.csv文件中.您还可以在Monitor结果监听器中看到图形结果,如下图所示.

监控测试结果1


监控测试结果2

请注意,图表的两侧都有字幕.左边是百分比,右边是死/健康.如果内存线快速上升和下降,则可能表示内存抖动.在这些情况下,最好使用Borland OptimizeIt或JProbe来分析应用程序.你想看到的是加载,内存和线程的常规模式.任何不稳定的行为通常表示性能不佳或某种错误.