云计算百科
云计算领域专业知识百科平台

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

在前一篇文章中,我们掌握了JMeter安装、入门、结果分析等内容,已经对JMeter有了一个入门的学习。

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

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

  • JMeter常用插件下载及使用

  • 服务器硬件资源监控

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

JMeter常用插件下载及使用

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

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

  • TPS、QPS

  • RT

  • 压力机活动线程数

01 插件下载

官网上下载plugins-manager.jar。

图片

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

图片

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

图片

图片

图片

在线安装JMeter插件即可。

02 插件介绍

1 、PerfMon:监控服务器硬件,如CPU、内存、硬盘读写速度等。

  • Allows collecting target server resource metrics

2 、Basic Graphs:主要显示平均响应时间,活动线程数,成功/失败交易数等。

  • Average Response Time 平均响应时间

  • Active Threads 活动线程数

  • Successful/Failed Transactions 成功/失败 事务数

3 、Additional Graphs:主要显示吞吐量,连接时间,每秒的点击数等。

  • Response Codes

  • Bytes Throughput

  • Connect Times

  • Latency

  • Hits/s

图片

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

03 配置插件的监听器

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

  • 响应时间: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)。

图片

04 性能关键指标分析

1、RT:响应时间

平均值:请求响应的平均时间是13ms。

中位数:50%请求响应时间都在10ms之内。

90%百分位:90%的请求都在44ms之内响应结束。

95%百分位:95%的请求都在35ms之内响应结束。

99%百分位:99%的请求都在29ms之内响应结束。

最小值:请求响应最小时间2ms。

最大值:请求响应的最大时间是45ms。

2、压力机活动线程数

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

3、TPS:每秒的事务数

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

4、QPS:每秒的查询数量

1tps >= QPS,数字愈大,代表性能越好。

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

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

服务器硬件资源监控

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

方法有很多种:

  • 使用shell命令

  • 使用finalshell

  • 使用JMeter压测工具perfmon

监控原理:

图片

使用agent代理实现监控。

01 配置服务端代理

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

ServerAgent下载地址:https://github.com/undera/perfmon-agent/blob/master/README.md

图片

这里以2.2.3版本为例。

Linux:

  • # 默认启动运行 startAgent.sh 脚本即可

  • # 服务启动默认 4444 端口,根本连接不上,因此自己创建一个部署脚本文件对此进行部署,且把端口修改为 7879

  • nohup 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,当然我们也可以用上面的方式,自定义端口。

    02 监控CPU
    • Elapse time:消耗时间

    • Performance Metrics:性能指标

    jp@gc PerfMon Metrics Collector:

    图片

    图片

    • idle:CPU空闲

    • iowait:IO等待

    • CPU system:CPU系统占用

    • CPU user:CPU用户占用

    03 监控网络

    图片

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

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

    • 发送(transport):tx

    • 接收(receive):rx

    04 监控内存

    图片

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

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

    好了,以上就是压力测试-JMeter常用插件、服务器硬件监控的分享了。

     

    感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

    这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 使用JMeter做压力测试:常用插件、服务器硬件监控
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!