Jmeter 之在linux中监控Memory、CPU、I/O资源等操作方法
在做性能测试时,单纯的只看响应时间、错误率、中间值远远不够的,有时需要监控服务cpu、内存等指标来判断影响性能的瓶颈在哪。
操作步骤:
一、Linux下配置jmeter环境
1、在linux环境下安装jdk。
# rpm -ivh jdk-8u121-linux-x64.rpm
2、检查java是否安装成功。
# java -version
3、将apache-jmeter-5.1.zip传到服务器上。
# unzip apache-jmeter-5.1.zip
4、进入jmeter.bat文件所在路径:
# cd apache-jmeter-5.1/bin进入目录。
二、插件下载
在官网下载的Jmeter是没有监控资源服务的功能的,只能借助插件实现。
1、需要下载的第三方插件有:JMeterPlugins-Standard , JMeterPlugins-Extras,版本需要与Jmeter版本兼容,下载下来解压得到jar包后,放到jmeter安装路径下的apache-jmeter-5.1/lib/ext文件夹里,重启jmeter
下载路径:https://jmeter-plugins.org/downloads/old/
2、下载 ServerAgent-2.2.1.zip,下载后上传到被测服务器上,并使用命令解压unzip ServerAgent-2.2.1.zip
3、进入到解压后的ServerAgent文件中,使用命令启动监控服务 bash startAgent.sh
三、脚本编写
1、根据具体的业务编写测试脚本,设置线程数、脚本持续时间等参数
2、添加 jp@gc - PerfMon Metrics Collector监听 CPU 、内存、网络、I/O等资源,路径为右击线程组->添加->监听器->jp@gc - PerfMon Metrics Collector

3、配置jp@gc - PerfMon Metrics Collector

注意:文件名一定要单独写个文件来保存监控的数据,否则在图表中无数据展示
4、添加 jp@gc - Response Times Over Time监控响应时间走势、添加 jp@gc - Transactions per Second监控qpt走势,路径同上
5、在linux下执行编写好的脚本,执行命令 ./jmeter.sh -n -t file -l logfile,如下:
./jmeter.sh -n -t /home/app_comm/nucdata/nuc环境压测_50_n.jmx -l /home/app_comm/nucdata/9_27_50_n_result.jtl
6、执行完后在jp@gc - PerfMon Metrics Collector上查看监控的资源图形结果

7、在聚合报告中查看整体情况

8、在 jp@gc - Response Times Over Time中查看时间响应走势

9、在 jp@gc - Transactions per Second中查看qpt走势

警告:
若出现以下错误,请查看版本是否兼容
2020-09-21 17:46:59,698 INFO o.a.j.e.StandardJMeterEngine: Running the test!
2020-09-21 17:46:59,698 INFO o.a.j.s.SampleEvent: List of sample_variables: []
2020-09-21 17:46:59,698 ERROR o.a.j.JMeter: Uncaught exception in thread Thread[StandardJMeterEngine,6,main]
java.lang.NoSuchMethodError: org.apache.jmeter.samplers.SampleSaveConfiguration.setFormatter(Ljava/text/DateFormat;)V
at kg.apc.jmeter.JMeterPluginsUtils.doBestCSVSetup(JMeterPluginsUtils.java:256) ~[jmeter-plugins-cmn-jmeter-0.3.jar:?]
at kg.apc.jmeter.perfmon.PerfMonCollector.setupSaving(PerfMonCollector.java:136) ~[jmeter-plugins-perfmon-2.1.jar:?]
at kg.apc.jmeter.perfmon.PerfMonCollector.testStarted(PerfMonCollector.java:113) ~[jmeter-plugins-perfmon-2.1.jar:?]
at org.apache.jmeter.reporters.ResultCollector.testStarted(ResultCollector.java:351) ~[ApacheJMeter_core.jar:5.2]
at kg.apc.jmeter.vizualizers.CorrectedResultCollector.testStarted(CorrectedResultCollector.java:28) ~[jmeter-plugins-cmn-jmeter-0.3.jar:?]
at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfStart(StandardJMeterEngine.java:206) ~[ApacheJMeter_core.jar:5.2]
at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:381) ~[ApacheJMeter_core.jar:5.2]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_221]
可参考 https://www.cnblogs.com/SunshineKimi/p/11361216.html
Jmeter 之在linux中监控Memory、CPU、I/O资源等操作方法的更多相关文章
- Linux中监控命令top命令使用方法详解
收集了两篇关于介绍Linux中监控命令top命令的详细使用方法的文章.总的来说,top命令主要用来查看Linux系统的各个进程和系统资源占用情况,在监控Linux系统性能方面top显得非常有用,下面就 ...
- Linux 性能监控之CPU&内存&I/O监控Shell脚本2
Linux 性能监控之CPU&内存&I/O监控Shell脚本2 by:授客 QQ:1033553122 思路: 捕获数据->停止捕获数据->提取数据 备注:一些命令的输 ...
- Linux 性能监控之CPU&内存&I/O监控Shell脚本1
Linux 性能监控之CPU&内存&I/O监控Shell脚本1 by:授客 QQ:1033553122 #!/bin/bash # 获取要监控的本地服务器IP地址 IP=`if ...
- linux中使用top获取进程的资源占用信息
在linux中使用top获取进程的资源占用信息: Cpu(s): 1.0%us, 0.0%sy, 0.0%ni, 98.3%id, 0.7%wa, 0.0%hi, 0.0%si, 0.0 ...
- 如何在 Linux 中找出 CPU 占用高的进程
1) 怎样使用 top 命令找出 Linux 中 CPU 占用高的进程 在所有监控 Linux 系统性能的工具中,Linux 的 top 命令是最好的也是最知名的一个.top 命令提供了 Linux ...
- 在 Linux 中找出 CPU 占用高的进程
列出系统中 CPU 占用高的进程列表来确定.我认为只有两种方法能实现:使用 top 命令 和 ps 命令.出于一些理由,我更倾向于用 top 命令而不是 ps 命令.但是两个工具都能达到你要的目的,所 ...
- linux中监控CPU、内存和磁盘状态的shell脚本。(centos7)
这篇博客中所写的脚本,在实际工作中并没有什么卵用,工作中并不会用到这种脚本去监控.不过自己写一遍,可以让初学者对CPU.内存.磁盘等一些基础知识和基础命令更加了解. 1.利用vmstat工具监控CPU ...
- Linux 性能监控 : CPU 、Memory 、 IO 、Network
一.CPU 1.良好状态指标 CPU利用率:User Time <= 70%,System Time <= 35%,User Time + System Time <= 70% 上下 ...
- Linux中找到占用cpu最高的线程
在工作中,经常会碰到CPU占用100%的情况,那如何找到是那个线程占用了cpu呢? 1. top命令,找到cpu占用最高的进程 2. 查看该进程的线程, top -p <pid> 3. ...
随机推荐
- suse 安装mysql5.7
1.上传包到home目录下 2.安装 1,解压下载的文件: tar -xvf mysql-5.7.29-1.sles12.x86_64.rpm-bundle.tar 解压后: 3.安装libatomi ...
- Ubuntu转到root用户后用户名路径没有颜色
看到好多都直接把普通会用户的.bashrc配置复制到root家目录下,由于本人小白,很多.bashrc配置看不懂,也不敢随便修改.于是找到别的配置方法. 普通用户的os@a:~$和root用户的roo ...
- 关于click和onclick的区别
click()和onclick()的区别: 1.onclick是绑定事件,告诉浏览器在鼠标点击时候要做什么 click本身是方法作用是触发onclick事件,只要执行了元素的click()方法,就会触 ...
- 一篇文章带你掌握MyBatis简化框架——MyBatisPlus
一篇文章带你掌握MyBatis简化框架--MyBatisPlus 我们在前面的文章中已经学习了目前开发所需的主流框架 类似于我们所学习的SpringBoot框架用于简化Spring开发,我们的国人大大 ...
- XSS-Game
很简单的弹窗 http://192.168.31.177/xssgame/level1.php?name=<script>alert(1)</script> 过滤了>.& ...
- uoj348【WC2018】州区划分
题目链接 直接讲吨吨吨给的标准做法吧.记\(f(i,j)\)表示各个州(可以重叠)的城市数量之和为i,这些州的并集为j的方案数,反正若有两个州之间有交集最后的\(|j|\)会不等于\(i\).有 \( ...
- lombok下载和安装
lombok是什么 第三方的组件:使用注解来简化类的编写,注解替换set/get/构造 注解: @setter @getter @NoArgsConstructor @AllArgsConstruct ...
- Linux基础_2_bash功能
查看当前shell:echo $SHELL 查看可用shell:cat /etc/shells 命令行编辑 光标跳到行首:Ctrl+a 光标跳到行尾:Ctrl+e 以单词为单位快速跳转光标:Ctr ...
- 齐博X1-栏目的调用3
本节继续说明栏目的调用之同级别栏目 同级栏目的调用 fun('sort@brother',$fid,'cms') 这个函数用的比较多,特别是栏目页,在一个页面会把一个父级栏目下的子级栏目全部列出来, ...
- Nginx反向代理实现Tomcat+Jpress和halo
一.利用Nginx反向代理Jpress+Tomcat 1.环境准备 服务器 IP地址 作用 系统版本 Proxy代理服务器 10.0.0.101 负载均衡Nginx Web服务器 Ubuntu2004 ...