2种简单的方法来监控JMeter非GUI测试结果

JMeter 图形用户界面使您可以轻松地配置性能脚本,添加新的测试内容和监控测试执行,通过使用各种不同的监听。但这种“易于使用”的解决方案有其缺点,尤其是当您需要将它用于更复杂的情况时。
例如,当您开始执行数千个用户的负载测试时,您可能会感觉到GUI模式的缺点,因为在GUI模式下运行 JMeter 会占用大量机器资源。您可能会对如何在持续集成服务器(CI)中使用JMeter GUI感到困惑。答案是 - 没有办法。
幸运的是,JMeter允许您将性能测试保存为脚本,并通过命令行以 非GUI模式 运行它们。这样可以运行非常大的测试,并将相同的命令添加到持续集成和自动化过程中。
不打算从头开始介绍GUI性能脚本的创建,假设您有一些相关经验。简而言之,这是性能脚本配置:
线程组:
  • Number of Threads【线程数量】:100
  • Ramp-Up Period (seconds)【加速时间(秒)】:120
  • Loop count【循环数】:Forever【永远】
  • Scheduler checked【计划程序已检查】
  • Duration (seconds)【持续时间(秒)】:300
HTTP Sampler(1/2):
  • Name【名称】:主页请求
  • Server【服务器名称】:你自己的服务器IP地址
  • Method【方法】:GET
HTTP Sampler (2/2):
  • Name【名称】: 查找航班请求
  • Server Name【服务器名称】: blazedemo.com
  • Method: POST
  • Path【方法】: reserve.php
  • Parameters【参数】:
    • fromPort: Paris
    • toPort: Buenos+Aires
添加一个高斯随机定时器模拟用户行为(Gaussian Random TImer):
  • Name【名称】:Gaussian Random TImer
  • Deviation (in milliseconds)偏差(以毫秒为单位):1000
  • Constant Delay Offset (in milliseconds)恒定延迟偏移(以毫秒为单位):5000

保存用于通过命令行运行性能测试的JMX文件。你可以这样做:
文件 - >保存测试计划 并选择“JMX文件”。我将它命为 NonGuiTestMonitoring.jmx
此时,您可以忘记JMeter GUI应用程序,并关闭它,直到您想要更改脚本中的某些内容。
1.控制台输出的JMeter日志监控
要运行JMeter JMX文件,您可以使用以下命令行模板:
jmeter -n -t [jmx_path]
  • -n标志表示“在非GUI模式下运行JMeter”
  • -t用于指定jmx文件的路径
假设我们当前的位置是带有创建脚本的文件夹,可以使用以下命令运行它:
jmeter -n -t NonGuiTestMonitoring.JMX
让我们运行并查看哪些细节可以从JMeter非GUI模式获得。
正如你所看到的,在执行命令后JMeter提供了一些有用的统计数据,可用于脚本执行的基本实时监控。我们来看看统计信息并验证我们的结果:
  • “00:00:24 = 0.2 / s 5”表示在24秒内,我们向服务器发送了5个请求,平均吞吐量为每秒0.2个请求
  • “Avg:182”表示此时的平均响应时间为182毫秒
  • “Min:88”意味着来自该时间段的发送请求的最小响应时间是88毫秒
  • “Max:483”表示该时间段内发送请求的最大响应时间为483毫秒
  • “Err:0(0.00%)”意味着我们在该期间的请求中没有任何错误,并且总请求中的错误百分比相应为0
  • Active:显示正在执行此期间请求的活动用户数
  • Started:显示自测试开始以来已启动线程的总数
  • Finished:显示自测试开始以来已完成执行的线程总数
这些指标向我们展示了关于性能测试执行的一些基本统计数据。但是,它们不包含任何特定的细节(比如:CPU、内存啊),只反映一般的服务器状态。让我们看看我们可以如何改进。
2.通过Taurus监测JMeter结果
通过使用 Taurus 框架,您可以在控制台内获得实时监控。Taurus可以用作JMX脚本运行器并提供许多其他功能,包括实时监控。
使用 本页中 (后续也会单独写一篇文章) 提到的几个步骤完成Taurus安装后,您可以继续运行之前的相同JMX文件。
运行这个命令 :bzt NonGuiTestMonitoring.JMX
您可以跟踪活动用户和所有用户,单独针对每个采样器的不同响应指标,错误和执行计算机指标。如果您只想实时监控测试并且不想浪费时间进行其他配置,则此解决方案非常完美。除了控制台之外,你不需要使用任何东西也是有帮助的,你甚至可以在没有桌面的远程服务器(通过ssh)上运行这些监视器,并且仍然可以看到执行监视器。

你可能感兴趣的:(Jmeter)