- JMeter 教程
- JMeter - 首页
- JMeter - 概述
- JMeter - 环境
- JMeter - 创建测试计划
- JMeter - 测试计划元素
- JMeter - Web 测试计划
- JMeter - 数据库测试计划
- JMeter - FTP 测试计划
- JMeter - Web 服务测试计划
- JMeter - JMS 测试计划
- JMeter - 监控测试计划
- JMeter - 监听器
- JMeter - 函数
- JMeter - 正则表达式
- JMeter - 最佳实践
- JMeter 资源
- JMeter - 快速指南
- JMeter - 有用资源
- JMeter - 讨论
JMeter - 监控测试计划
本章将讨论如何使用 JMeter 创建测试计划来监控 Web 服务器。监控测试的用途如下:
监控对于压力测试和系统管理非常有用。
与压力测试一起使用时,监控程序可提供有关服务器性能的更多信息。
监控使更容易看到服务器性能与客户端响应时间之间的关系。
作为系统管理工具,监控程序提供了一种简单的方法来从一个控制台监控多个服务器。
我们需要 Tomcat 5 或更高版本才能进行监控。为了测试目的,我们将监控 Tomcat 7.0.42 服务器。您可以测试任何支持 Java Management Extension (JMX) 的 Servlet 容器。让我们编写一个测试用例来监控 Tomcat 服务器。让我们首先设置我们的 Tomcat 服务器。
设置 Tomcat 服务器
我们首先打开 Tomcat 服务状态。为此,请编辑用户的配置文件,**`
<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、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>
现在启动 Tomcat 服务器:Linux 系统使用 `
https://127.0.0.1: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(取决于 tomcat-users.xml 文件中的配置)
其他字段留空。
添加采样器-HTTP 请求
既然我们已经定义了用户,现在是时候定义他们将执行的任务了。我们添加 HTTP 请求元素。
右键单击鼠标以获取添加菜单。
选择添加 → 采样器 → HTTP 请求。
然后,在树中选择 HTTP 请求元素。
如下面的图像所示编辑以下属性:
在此元素中输入以下详细信息:
**名称** - 服务器状态
**服务器名称或 IP** - localhost
**端口** - 8080
**路径** - /manager/status
**参数** - 添加一个名为“XML”(大写)的请求参数。给它一个“true”(小写)的值。
**可选任务** - 在采样器的底部选中“用作监控”。
添加恒定定时器
要定期请求服务器的状态,请添加一个恒定定时器,它允许在每个请求之间设置时间间隔。通过选择添加 → 定时器 → 恒定定时器,将定时器添加到此线程组。
在 *线程延迟* 框中输入 5000 毫秒。通常,使用小于 5 秒的时间间隔可能会增加服务器的压力。在生产环境中部署监控程序之前,请找出可接受的时间间隔。
添加监听器
您需要添加到测试计划中的最后一个元素是监听器。我们添加两种类型的监听器。一个将结果存储到文件中,另一个显示结果的图形视图。
选择线程组元素。
添加一个简单的CSV数据写入器监听器:添加 → 监听器 → 简单数据写入器。
指定输出文件的目录和文件名(在本例中为 /home/manisha/work/sample.csv)
让我们通过选择测试计划元素添加另一个监听器:添加 → 监听器 → 监控结果。
运行测试计划
现在将上述测试计划保存为 *monitor_test.jmx*。使用运行 → 启动选项执行此测试计划。
查看输出
结果将保存在 /home/manisha/work/sample.csv 文件中。您还可以在监控结果监听器中看到图形结果,如下图所示。
请注意,图表两侧都有标题。左侧是百分比,右侧是活动/空闲。如果内存线快速上下波动,则可能表示内存抖动。在这种情况下,最好使用 Borland OptimizeIt 或 JProbe 对应用程序进行分析。您希望看到的是负载、内存和线程的规律模式。任何不规律的行为通常都表示性能低下或某种类型的错误。