写点什么

压力测试 -JMeter 常用插件、服务器硬件监控

作者:程序知音
  • 2022 年 8 月 19 日
    湖南
  • 本文字数:1737 字

    阅读完需:约 6 分钟

1.写在前面

在前一篇文章中,我们已经对 jmeter 有了一个入门的学习。

掌握了 JMeter 安装、入门、结果分析等内容,详情可查看这里:压力测试-JMeter安装、入门、结果分析

对于 jmeter 默认的插件,往往不太够,例如,我们响应监控 cpu,内存,网络等资源,那我们就得掌握一些常用得插件的使用才行。

那我们今天就来继续深入的学习一下,主要从以下这些内容进行学习:

  • Jmeter 常用插件下载及使用

  • 服务器硬件资源监控

好了,废话不多说,直接进入主题了!!!

2.Jmeter 常用插件下载及使用

已有内容的分析维度不够:需要加入新的插件

查看应用服务器测试报告中的:

  • TPS、QPS

  • RT

  • 压力机活动线程数

2.1 插件下载

下载地址:jmeter插件,官网上下载 plugins-manager.jar。



放入 lib/ext 文件夹里面,然后打开 jmeter



在线下载方法如下图所示:





在线安装 jmeter 插件即可。

2.2 插件介绍:

1 、PerfMon:监控服务器硬件,如CPU,内存,硬盘读写速度等        Allows collecting target server resource metrics2 、Basic Graphs:主要显示平均响应时间,活动线程数,成功/失败交易数等        Average Response Time 平均响应时间        Active Threads 活动线程数        Successful/Failed Transactions 成功/失败 事务数3 、Additional Graphs:主要显示吞吐量,连接时间,每秒的点击数等        Response Codes        Bytes Throughput        Connect Times        Latency        Hits/s复制代码
复制代码



安装好这些插件后,就可以看到上面这些监听器

2.3 配置插件的监听器

如果可以配置如下三个监听器,就表示插件已经安装成功!执行压力测试,就可以看见压测的每秒事务数、响应时间,活动线程数等压测结果

  • 响应时间:jp@gc - Response Times Over Time

  • 活动线程数:jp@gc - Active Threads Over Time

  • 每秒事务数:jp@gc - Transactions per Second

响应时间:jp@gc - Response Times Over Time(RT)



活动线程数:jp@gc - Active Threads Over Time



每秒事务数:jp@gc - Transactions per Second(TPS)



2.4 性能关键指标分析



1 )RT:响应时间

平均值: 请求响应的平均时间是13ms中位数: 50%请求响应时间都在10ms之内90%百分位: 90%的请求都在44ms之内响应结束95%百分位: 95%的请求都在35ms之内响应结束99%百分位: 99%的请求都在29ms之内响应结束最小值: 请求响应最小时间2ms最大值: 请求响应的最大时间是45ms复制代码
复制代码

2 )压力机活动线程数

压力机活动线程数表明压测过程中施加的压力的情况

3 )TPS: 每秒的事务数

数字愈大,代表性能越好;

4 )QPS: 每秒的查询数量

(1tps >= QPS)

数字愈大,代表性能越好;

5 )吞吐量: 每秒的请求数量

数字愈大,代表性能越好;

3. 服务器硬件资源监控

压测的时候,我们需要实时了解服务器【CPU、内存、网络、服务器 Load】的状态如何,哪如何监控服务器的资源占用情况呢?方法有很多种:

  1. 使用 shell 命令

  2. 使用 finalshell

  3. 使用 JMeter 压测工具 perfmon

监控原理:



使用 agent 代理实现监控

3.1 配置服务端代理

注意:服务器硬件资源的监控,必须在服务端安装 serverAgent 代理服务,jmeter 才能实现监控服务端的 cpu、内存、io 的使用情况。

ServerAgent 下载地址:download



这里以 2.2.3 版本为例

  • linux

# 默认启动运行 startAgent.sh 脚本即可
# 服务启动默认 4444 端口,根本连接不上,因此自己创建一个部署脚本文件对此进行部署,且把端口修改为 7879nohup java -jar ./CMDRunner.jar --tool PerfMonAgent --udp-port 7879 --tcp-port 7879 > log.log 2>&1 &
# 赋予可执行权限chmod 755 startAgent.sh复制代码
复制代码

启用 7879 端口后,服务器的 cpu,io,内存使用情况就顺利的监控到了。

  • window



双击启动,默认的端口是 4444

当然我们也可以用上面的方式,自定义端口

3.2 监控 CPU:

  • Elapse time:消耗时间

  • Performance Metrics:性能指标

jp@gc PerfMon Metrics Collector




  • idle:CPU 空闲

  • iowait:IO 等待

  • CPU system:CPU 系统占用

  • CPU user:CPU 用户占用

3.3 监控网络:



  • 接收字节:byteSrecv【单位:比特、KB、MB】

  • 发送字节:byteSent【单位:比特、KB、MB】

  • 发送(transport):tx

  • 接收(receive):rx

3.4 监控内存:



  • used Perc:每分钟使用内存【单位:字节、KB、MB】

  • free Perc:每分钟未使用内存【单位:字节、KB、MB】

来源:https://juejin.cn/post/7133158745613287437


用户头像

程序知音

关注

还未添加个人签名 2022.06.25 加入

还未添加个人简介

评论

发布
暂无评论
压力测试-JMeter常用插件、服务器硬件监控_Java_程序知音_InfoQ写作社区