Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

时间:2022-09-07 11:35:41

1.简介

JMeter是一款压力、接口等等的测试工具,Jmeter也可以像loadrunner一样监控服务器CPU、内存等性能参数,用来监控服务器资源使用情况,不过需要安装一些插件。JMeter正常自带可以通过Tomcat的/manager/status来监控服务资源使用情况。这种情况只能监控Tomcat支持的资源使用部分。
通过本文宏哥主要来说一下如何通过JMeter插件来监控服务器CPU、内存(Memory)、磁盘(DisKs I/O)、网络(NetWork I/O)等相关资源。

2.下载Jmeter插件

既然监控需要一些插件,那么宏哥就将准备工作做好了,下载安装需要的插件。
JMeter 插件网址:https://jmeter-plugins.org/downloads/old/

Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

其中JMeterPlugins-Standard和JMeterPlugins-Extras是客户端的(Jmeter插件),ServerAgent是服务端的(放在服务器中的)。

3.解压并安装

1、解压客户端的两个文件,进入其路径JMeterPlugins-Extras(Standard)-1.3.1\lib\ext,复制JmeterPlugins-Extras.jar(JmeterPlugins-Standard.jar)两个文件,放到你安装JMeter客户端的lib/ext文件夹中,打开JMeter,可在监听器中看到Permon Metrics Collector,客户端配置成功。如下图所示:

Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

2、将ServerAgent-2.2.1.jar上传到被监控的服务器,待用。如下图所示:

Windows服务器:

Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

Linux服务器:

Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

4.监控

1、启动客户端的Jmeter,然后添加jp@gc - PerfMon Metrics Collector监听器,并增加你要监控的参数。如下图所示:

Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

2、解压刚刚复制到服务器待用的压缩包,进入目录,Windows环境,双击ServerAgent.bat启动;linux环境执ServerAgent.sh启动,默认使用4444端口,出现如下情况即服务端成功。如下图所示:

Windows环境:

Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

Linux环境:

Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

3、运行Jmeter-观察server日志即chart图标内容,如下图所示:

Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

4、ServerAgent端的日志,如下图所示:

Windows服务器:

Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

Linux服务器:

Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

5、从第三步和第四步可以看出接收了一个TCP的链接,没有反应卡住不懂了,宏哥记得以前做的时候不是这个样子的,后来查看客户端的Jmeter发现报错了,如下图所示:

Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

6、报错信息:java.lang.NoSuchMethodError: org.apache.jmeter.samplers.SampleSaveConfiguration.setFormatter(Ljava/text/DateFormat;)V ,查找资料发现是因为Jmeter的版本太高了,不支持其中一个方法了。jmeter版本太高,setFormatter方法在3.1版本后不支持。但是插件没有高版本,只能卸载5.1重装3.1。重装后成功。再次查看ServerAgent端的日志,如下图所示:

INFO    2021-05-28 09:27:46.540 [kg.apc.p] (): Accepting new TCP connection  #成功连接
INFO 2021-05-28 09:27:46.543 [kg.apc.p] (): Yep, we received the 'test' command #接收到test消息
INFO 2021-05-28 09:27:46.547 [kg.apc.p] (): Starting measures: cpu:
INFO 2021-05-28 09:27:46.801 [kg.apc.p] (): Client disconnected #断开连接

Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

7、从上边的日志信息可以看出,运行jmeter时,成功连接然后立刻断开了,并没有获取我们想要的数据。猜想需要一个时间控制的元器件,使其能够获取一段时间的数据。

i 步骤:添加线程组(不添加发送请求),设置循环次数为永远,点击运行。
结果:成功连接然后立刻断开。全部配置如下图所示:

ServerAgent端的日志,如下图所示:

INFO    2021-05-28 09:37:00.520 [kg.apc.p] (): Accepting new TCP connection
INFO 2021-05-28 09:37:00.521 [kg.apc.p] (): Yep, we received the 'test' command
INFO 2021-05-28 09:37:00.523 [kg.apc.p] (): Starting measures: cpu:
INFO 2021-05-28 09:37:00.653 [kg.apc.p] (): Client disconnected

Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

Jmeter客户端配置,如下图所示:

Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

chart图,如下图所示:

Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

ii 添加线程组,设置循环次数为"永远";为线程组任意添加一个Sampler(并不设置参数);添加一个PerfMon Metrics Collector监听器;点击运行。
结果:成功获取chart图,点击stop,即结束监听数据。全部配置如下图所示:

ServerAgent端的日志,如下图所示:

INFO 2021-05-28 10:02:57.150 [kg.apc.p] (): Accepting new TCP connection
INFO 2021-05-28 10:02:57.152 [kg.apc.p] (): Yep, we received the 'test' command
INFO 2021-05-28 10:02:57.154 [kg.apc.p] (): Starting measures: cpu: network i/o: disks i/o:
INFO 2021-05-28 10:03:05.465 [kg.apc.p] (): Client disconnected

Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

Jmeter客户端配置,如下图所示:

Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

chart图,如下图所示:

Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

5.小结

1、运行 ServerAgent-2.2.1\bin\startAgent.bat(Linux使用startAgent.sh)(默认端口为4444,也可以参数指定 –udp-port 4445 –tcp-port 4445)

2、常用组件简要介绍:
① jp@gc - Bytes Throughput Over Time:不同时间吞吐量展示(图表)
聚合报告里,Throughput是按请求个数来展示的,比如说1.9/sec,就是每s发送1.9个请求;而这里的展示是按字节Bytes来展示的图表
② jp@gc - Composite Graph: 混合图表
在它的Graphs里面可以设置多少个图表一起展示,它可以同时展示多个图表
③ jp@gc - Hits per Second:每秒点击量
④ jp@gc - PerfMon Metrics Collector:服务器性能监测控件,包括CPU,Memory,Network,I/O等等
⑤ jp@gc - Reponse Latencies Over Time:记录客户端发送请求完成后,服务器端返回请求之前这段时间
⑥ jp@gc - Reponse Times Distribution: 显示测试的响应时间分布,X轴显示由时间间隔分组的响应时间,Y轴包含每个区间的样本数
⑦ jp@gc - Transactions per Second: 每秒事务数,服务器每秒处理的事务数

  最后为了省去大家查找和下载软件的时间,小伙伴或者童鞋们微信搜索“北京宏哥”,关注宏哥公众号,进入公众号发送“jmeter监控”,获取Jmeter服务器监控全家桶相关软件和插件。

Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)的更多相关文章

  1. Jmeter(四十五) - 从入门到精通高级篇 - Jmeter之网页爬虫-上篇(详解教程)

    1.简介 上大学的时候,第一次听同学说网页爬虫,当时比较幼稚和懵懂,觉得就是几只电子虫子爬在网页上在抓取东西.后来又听说写代码可以实现网页爬虫,宏哥感觉高大上,后来工作又听说,有的公司做爬虫被抓的新闻 ...

  2. Jmeter(四十六) - 从入门到精通高级篇 - Jmeter之网页图片爬虫-下篇(详解教程)

    1.简介 上一篇介绍了爬取文章,这一篇宏哥就简单的介绍一下,如何爬取图片然后保存到本地电脑中.网上很多漂亮的壁纸或者是美女.妹子,想自己收藏一些,挨个保存太费时间,那你可以利用爬虫然后批量下载. 2. ...

  3. Jmeter(四十九) - 从入门到精通高级篇 - jmeter使用监视器结果监控tomcat性能(详解教程)

    1.简介 上一篇宏哥讲解了利用jmeter的插件来监控服务器资源,这一篇讲解分享如何使用jmeter的监视器结果监控tomcat性能. 2.准备工作 文章标题中提到jmeter和tomcat,那么只需 ...

  4. Jmeter(四十二) - 从入门到精通进阶篇 - Jmeter配置文件的刨根问底 -番外篇(详解教程)

    1.简介 为什么宏哥要对Jmeter的配置文件进行一下讲解了,因为有的童鞋或者小伙伴在测试中遇到一些需要修改配置文件的问题不是很清楚也不是很懂,就算修改了也是模模糊糊的.更有甚者觉得那是禁地神圣不可轻 ...

  5. Jmeter(五十二) - 从入门到精通高级篇 - jmeter之跨线程组传递参数(详解教程)

    1.简介 之前分享的所有文章都是只有一个线程组,而且参数的传递也只在一个线程组中,那么如果需要在两个线程组中传递参数,我们怎么做呢?宏哥今天就给小伙伴或者童鞋们讲解一下,如何实现在线程组之间传递参数. ...

  6. Jmeter(二十六) - 从入门到精通 - 搭建开源论坛JForum(详解教程)

    1.简介 今天这篇文章主要是给大家讲解一下,如何部署测试环境,这里宏哥部署一个开源测论坛,后边的文章中会用到这个论坛,并且也看到童鞋们在群里讨论如何在开发将测试包发给你以后,你如何快速地部署测试环境. ...

  7. 《手把手教你》系列技巧篇(四十八)-java+ selenium自动化测试-判断元素是否可操作(详解教程)

    1.简介 webdriver有三种判断元素状态的方法,分别是isEnabled,isSelected 和 isDisplayed,其中isSelected在前面的内容中已经简单的介绍了,isSelec ...

  8. Jmeter(三十八) - 从入门到精通进阶篇 - 命令行运行JMeter详解(详解教程)

    1.简介 前边一篇文章介绍了如何生成测试报告,细心地小伙伴或者同学们可以看到宏哥启动Jmeter生成测试报告不是在gui页面操作的,而是在gui页面设置好保存以后,用命令行来生成测试报告的.这一篇宏哥 ...

  9. SaltStack 入门到精通第二篇:Salt-master配置文件详解

    SaltStack 入门到精通第二篇:Salt-master配置文件详解     转自(coocla):http://blog.coocla.org/301.html 原本想要重新翻译salt-mas ...

随机推荐

  1. duilib\utils\utils.h(251) : error C2504: “VARIANT”: 未定义基类

    转载:http://blog.csdn.net/SP_daiyq/article/details/44542939?locationNum=3 创建win32应用程序的工程文件,删除不需要的代码,只留 ...

  2. TC HTB r2q

    HTB: quantum of class 10001 is big. Consider r2q change. 根据HTB的官方文档显示,quantum是在可以“借”的情况下,一次可以“借”多少,并 ...

  3. WEB标准:标准定义、好处、名词解释、常用术语、命名习惯、浏览器兼容、代码书写规范

    1. WEB标准是什么? “WEB标准”是一系列标准的总称.一般的误区经常把WEB标准说成DIV+CSS.准确的说法应该是:采用W3C推荐的WEB标准中的XHTML1.1结合CSS2.0 样式表制作页 ...

  4. 修改searchBar的返回按钮的显示文字

    #pragma mark 搜索框的代理方法,搜索输入框获得焦点(聚焦) - (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar { ...

  5. 图表工具--- ECharts.js学习(一) 简单入门

    ECharts.js学习(一) 在项目开发的时候,在前端的数据需要用图表的形式展示.网上搜索了一下,发现有几种统计图库.具体有哪几种可以看: 前端开发者常用的9个JavaScript图表库 EChar ...

  6. gradle入门(1-1)gradle的概念和使用

    一.Gradle是什么 Gradle是一种Java应用构建工具,它采用领域特定语言 Groovy 语法实现配置. 1.Gradle的基本概念 项目:项目的配置 即 build.gradle. 任务:任 ...

  7. Django开发目录

    Django开发[第一章]:Django基础和基本使用 Django开发[第二章]:Django URLConf 进阶 Django开发[第三章]:Django View 进阶 Django开发[第四 ...

  8. Permanent Space 和 Heap Space

      JVM堆内存 JVM堆内存分为2块:Permanent Space 和 Heap Space. Permanent 即 持久代(Permanent Generation),主要存放的是Java类定 ...

  9. mysql案例-sysbench安装测试

    一 地址 githup地址https://github.com/akopytov/sysbench二 版本 sysbench 1.0.15 curl -s https://packagecloud.i ...

  10. Ryuji doesn't want to study 2018 徐州赛区网络预赛

    题意: 1.区间求 a[l]×L+a[l+1]×(L−1)+⋯+a[r−1]×2+a[r](L is the length of [ l, r ] that equals to r - l + 1) ...