jMeter-监控测试计划

Python/Java学习交流群:369606713


jMeter-监控测试计划

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

  • 监视器对于压力测试和系统管理很有用。

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

  • 通过监视器,可以更轻松地查看服务器性能与客户端响应时间之间的关系。

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

我们需要Tomcat 5或更高版本进行监视。为了进行测试,我们将监视Tomcat 7.0.42服务器。您可以测试任何支持Java管理扩展(JMX)的servlet容器。让我们编写一个测试用例来监视Tomcat服务器。让我们首先设置我们的tomcat服务器。

设置Tomcat服务器

我们首先打开Tomcat服务状态。为此,请编辑用户的配置文件 /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>

我们需要更改此部分以添加管理员角色,管理员,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服务器 /bin/startup.sh,对于Windows,启动 /bin/startup.bat。启动后,通过在浏览器中输入以下链接来检查Tomcat监管是否正常工作

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

身份验证窗口出现在浏览器中。输入关联的tomcat登录名和密码(在本例中为admin)。然后,浏览器显示Tomcat的执行状态,如下所示:

从上面的屏幕截图中,我们可以注意到一些事情

  • 在URL中,请注意XML = true(注意区分大小写)可以清晰显示JMeter运行所需的管理Tomcat。

  • 另请注意,默认情况下有两个连接器。通常将AJP连接器与mod_jk Apache HTTPD前端模块以及HTTP连接器(通常用于通过端口8080直接访问Tomcat的连接器)结合使用。

编写JMeter测试计划

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

重命名测试计划

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

  • 单击测试计划节点。

  • 按照下一步中的说明添加线程组。

添加线程组

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

  • 将循环计数更改为永久(或较大数目),以便生成足够的样本。

HTTP授权管理器

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

  • 选择HTTP授权管理器。

  • 编辑以下详细信息

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

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

    • 其他字段保留为空。

添加采样器HTTP请求

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

  • 右键单击鼠标以获取“添加”菜单。

  • 选择添加→采样器→HTTP请求。

  • 然后,在树中选择HTTP请求元素。

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

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

    • 名称 -服务器状态

    • 服务器名称或IP-本地主机

    • 端口 -8080

    • 路径 -/经理/状态

    • 参数 -以大写形式添加一个名为“ XML”的请求参数。给它一个小写的“ true”值。

    • 可选任务 -选中采样器底部的“用作监视器”。

添加常量计时器

要定期请求服务器的状态,请添加一个常量计时器,这将在每个请求之间留出时间间隔。通过选择添加→计时器→常量计时器,将计时器添加到该线程组。

在“ 线程延迟”框中输入5000毫秒。通常,使用少于5秒的间隔可能会增加服务器的压力。在生产环境中部署监视器之前,请找出可接受的间隔。

添加监听器

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

  • 选择线程组元素。

  • 添加简单数据编写器侦听器添加→侦听器→简单数据编写器。

  • 指定输出文件的目录和文件名(在本例中为/home/manisha/work/sample.csv)

让我们通过选择测试计划元素添加→侦听器→监视结果来添加另一个侦听器。

运行测试计划

  • 现在,将以上测试计划另存为monitor_test.jmx。使用“运行”→“开始”选项执行此测试计划。

查看输出

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

请注意该图形在图形的两边都有标题。左边是百分比,右边是已死/健康。如果内存行快速上升和下降,则可能表明内存跳动。在这种情况下,最好使用Borland OptimizeIt或JProbe来分析应用程序。您想要看到的是负载,内存和线程的常规模式。任何不稳定的行为通常都表明性能不佳或某种错误。