jmeter-性能监控指标设置-监控插件详解(2)

简介: jmeter-性能监控指标设置-监控插件详解(2)

在上一篇已经讲到了jmeter性能监控插件的基本使用方法。但是每项的设置也是很重要的,如果不理解如何设置,在实际运用中可能会怀疑监控出来的数据。

监控指标参数设置

  1. CPU
  • 对于各指标项,数值都是代表百分比,比如默认配置(combined)下在曲线图中看到某个时间的数值是30,即代表此时总的cpu使用时间占比为30%。
  • 有两点比较有用的地方值得说明:一是在Scope区域,可以通过Per Process选项来获取指定进程的CPU使用情况,二是在CPU Cores区域,我们可以选择监控指定的单个Core。
  • jmeter_CPU.png (1122×648).png
  1. Memory
  • 各指标项中,usedperc(默认)和freeperc两项的数值代表与总内存的百分比,其余指标项的数值都是指内存大小,选中对应想,可以看到Metric Unit区域单位配置将变为可用,通常Mb会比较适合观察。
  • 同样,也可以选择监控指定进程的数据
  1. Disk I/O:
  • 各指标项中,单位根据设置中的Metric Unit中的配置决定。queue(默认)的数值代表等待I/O队列长度,readswrites分别代表每秒处理的读/写次数,readbyteswritebytes顾名思义,代表每秒读/写的数据量,单位同样在Metric Unit区域配置,通常Mb会比较适合观察,因此结果图表中Y轴代表的是Mb/s。
  • 如果有挂载多个存储设备,可以在Filesystem Filter区域指定要监控的设备。
  • jmeter_IO.png (1114×613).png

剩下的几个指标(TCP,Swap等等)我也确实没用过,所以就不写了以防误导。

关于 metric parameters(参数指标)设置的详细说明,可以参考官网https://gerardnico.com/jmeter/serveragent,会有比较详细的primary metrics(主要指标)、additional metrics(额外指标)讲解。

[mark]特别说明:关于磁盘名称也需要根据具体使用什么类型的设备决定,比如:vd 开头 virtio-block 类型的设备,而 sd开头是 SCSI 类型的设备等等[/mark]

 

  1. 使用策略
  • 如果测试场景的测试执行时间较长,采集的监控数据量比较大,为了在GUI模式查看曲线图时更方便、快捷,建议将各个监控指标项单独使用一个PerfMon监听器,从而配置不同的指标项数据存储到不同的文件中,测试执行完毕后,载入数据和数据查看都会更快。
  • 如果预计数据量不会太大,可以以服务器为单位来划分PerfMon监听器。这样可以方便的观察到整个测试过程中,某台服务器各项资源使用情况的变化趋势
  • 对于分布式服务、为了方便观察各个节点的负载分布、负载变化趋势,可以考虑将同类型的节点放置到同一个PerfMon监听器,以便对比观察
  1. 数值
  • 当一个PerfMon监听器中展示多种指标项的数据时,为了曲线图的可观察性,插件会自动进行优化,我们看到在CPU项和内存项都有个x10,代表曲线图中展示的数值是在采集到的真实数值上放大了10倍,目的是为了保证不同数据项在同一坐标系中展示时,各项都变化趋势都能够被观察到。jmeter_chart.png (1111×448).png
  1. 曲线图配置
  • 插件界面的Rows标签页可以调整要在曲线图中展示的指标项
  • Setting标签页中常用的有:
  • use relative times用于配置曲线图x轴表示的是相对时间(测试开始时为0)还是实际系统时间。默认勾选,相对时间。
  • Auto-zoom rows for best fit默认勾选,则会有上一节讲数值时提到的展示数据自动放大的功能,取消勾选则全部展示采集的实际数值。
  • Limit number of points in row to xx points:勾选后可以设定曲线图展示的采样点数量,我们的测试报告会有不同的角色查看,其中一些角色可能不具备也不需要对监控数据的细节理解能力,此时我们提供的监控曲线图应该是易读的,如果按照实际的所有采样点来渲染出曲线图,可能会有很多偏离趋势的噪点数据,这对于不了解的人来说可能会有很多疑惑,所以当我们有了分析结论,最后报告呈现的时候,可以考虑通过调整采样点,来让曲线图更好的展示资源使用趋势,消除其他不必要的信息。
  • jmeter_chart_setting.png (750×27.png
  • Force maximum Y axis value to xx,不勾选的情况下,插件在描绘曲线图的时候,会根据数值大小自动调整Y轴最大值,以达到更佳可读性

自定义指标

  1. EXEC
  • 在插件界面选择指标类型时,可以看到一个EXEC选型,该选项允许我们在后面的Metric parameter中配置一个命令语句(该语句最终应该输出单个数值),测试执行时,ServerAgent将执行该命令,同时插件将接收ServerAgent捕获的输出数值。
  • 语法规则:EXEC所配置的语句需要按照一定的规则来填写,先是给出命令的执行程序的位置,然后将具体的命令以及命令的参数作为,命令和命令参数都需要用冒号":"来隔开。比如/bin/sh:-c:free |grep Mem |awk '{pring $7}'
  • /bin/sh,代表命令的执行程序
  • -c,即/bin/sh-c选型,有-c选型的情况下,将从后面的字符串按一定规则解析为命令和命令参数
  • 可以看到有用冒号分隔了执行程序/选型参数/命令语句
  • 对于windows,也类似,如C\:\Windows\System32\cmd.exe:/c:echo %RANDOM%
  1. TAIL
  • 如同Linux的tail命令,读取文件的最后一行,用在这里,需要文件每一行只包含一个单独的数值。借助tail,我们可以通过自定义脚本监控任意指标,只需要脚本的输出满足要求即可。
  • 显而易见,TAIL后面的参数就是配置要读取的文件的地址,测试执行时,ServerAgent将根据配置读取所在服务器的指定文件。


部分内容来源于网络。

相关文章
|
7月前
|
编解码 NoSQL 测试技术
性能工具之Jmeter HLS 插件(入门篇)
【2月更文挑战第28天】JMeter Redis 数据集 vs CSV 数据集性能对比
202 1
性能工具之Jmeter HLS 插件(入门篇)
|
7月前
|
存储 缓存 监控
|
7月前
|
Java 测试技术 Linux
jmeter-分布式部署之负载机的设置
jmeter-分布式部署之负载机的设置
272 2
|
7月前
|
存储 缓存 监控
磁盘I/O性能监控的指标
【1月更文挑战第22天】
|
4月前
|
监控 Java
压力测试Jmeter的简单使用,性能监控-堆内存与垃圾回收 -jvisualvm的使用
这篇文章介绍了如何使用JMeter进行压力测试,包括测试前的配置、测试执行和结果查看。同时,还探讨了性能监控工具jconsole和jvisualvm的使用,特别是jvisualvm,它可以监控内存泄露、跟踪垃圾回收、执行时内存和CPU分析以及线程分析等,文章还提供了使用这些工具的详细步骤和说明。
压力测试Jmeter的简单使用,性能监控-堆内存与垃圾回收 -jvisualvm的使用
|
3月前
|
缓存 Java 测试技术
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
110 10
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
|
4月前
|
监控 Java
(翻译)性能监控之百分位数监控
【8月更文挑战第10天】(翻译)性能监控之百分位数监控
52 1
(翻译)性能监控之百分位数监控
|
4月前
|
Kubernetes 监控 Cloud Native
"解锁K8s新姿势!Cobra+Client-go强强联手,打造你的专属K8s监控神器,让资源优化与性能监控尽在掌握!"
【8月更文挑战第14天】在云原生领域,Kubernetes以出色的扩展性和定制化能力引领潮流。面对独特需求,自定义插件成为必要。本文通过Cobra与Client-go两大利器,打造一款监测特定标签Pods资源使用的K8s插件。Cobra简化CLI开发,Client-go则负责与K8s API交互。从初始化项目到实现查询逻辑,一步步引导你构建个性化工具,开启K8s集群智能化管理之旅。
61 2
|
6月前
|
Linux Windows
Jmeter设置中文语言和配置https
Jmeter设置中文语言和配置https
118 0
Jmeter设置中文语言和配置https
|
6月前
|
监控 Java 数据安全/隐私保护
性能监控之 JMX 监控 Docker 容器中的 Java 应用
【6月更文挑战9天】性能监控之 JMX 监控 Docker 容器中的 Java 应用
665 1