性能答疑 QQ 群:697244251

概述

用 jmeter 做性能测试的时候,避免不了要去分析服务器资源。服务器分为 windows 和 linux,资源包括 cpu,内存,磁盘,jvm,网络等等。那么如何去监听服务器资源呢?监听之后又怎么去分析呢,需要我们去思考一下

linux 资源监听

linux 安装插件

用 jmeter 监听 linux 服务器,需要下面几个插件。
访问网址 (官网)[http://jmeter-plugins.org/downloads/all]
下载三个文件。其中 JMeterPlugins-Standard 和 JMeterPlugins-Extras 是客户端的,ServerAgent 是服务端的。

前两个是 jmeter 扩展插件,解压后将 jar 拷贝包到 jmeter 的 lib/ext 目录下,最后一个是服务器监控插件,解压到服务器上

将 ServerAgent-2.2.1.zip 解压后放在需要监控的服务器上,并执行 ./startAgent.sh启动监控

配置 jmeter 监听器

jmeter 下添加监听器,如下图

配置监听 host,运行端口 4444,选择要监听的资源

观察下方的监听图表,此时运行的是 cpu 的监听器

注意:此时监听的是服务器整体的 cpu 使用率,也就是 us+sy,jmeter 由此衍生出了一个隐藏功能

jmeter 监听服务器隐藏功能

双击下图红色圆圈的位置,会出现隐藏的三个按钮


这个隐藏功能可以让我们更灵活的监听资源
idle:cpu 空闲率
system:系统态 cpu 使用率
user:用户态 cpu 使用率
iowait:io 等待率
irq:cpu 硬中断
softirq:cpu 软中断

结合一下 tps 监听器,我们可以观察到一些有趣的事情。
当我们的 tps 急速下降的时候,cpu 使用率也跟着下降因为我们的 jvm 年轻代在 gc 的时候会导致所有线程暂停,cpu 使用率和 tps 自然就跟着掉下来了

如下图所示,当我手动执行 GC 的时候,tps 和 cpu 使用率持续下降并剧烈波动


↙↙↙阅读原文可查看相关链接,并与作者交流