温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Jmeter 监控服务端资源

发布时间:2020-05-28 16:06:31 来源:网络 阅读:397 作者:louiezhou001 栏目:软件技术

一. 场景

在做性能测试的时候, 服务端的各项资源指标是性能测试非常关心的问题

性能测试监控的指标主要分为两大类: 资源指标和系统指标

1.资源指标与硬件资源消耗息息相关.

2.系统指标则与用户场景和业务需求直接相关.

Jmeter 监控服务端资源


资源指标

CPU 使用率: 用户进程与系统进程消耗的CPU百分比, 一般长时间可以接受的上限不超过85%

Memory 利用率: (1-空闲内存/总内存)*100%, 一般至少留有10%的可用内存, 长时间内存使用率上限可接受范围85%

Disks I/O 用于磁盘存取数据: 用于读写操作所占用的时间百分比, 度量磁盘读写性能

Network I/O 网络带宽: 表示为发送和接收字节的速率, 判断网络连接速度是否存在瓶颈,可以用该计数器的值和目前网络的带宽比较.

SWAP:  顾名思义就是一个临时虚拟内存区域但物理内存不足的时候拿出部分空间使用,从而解决内存容量不足的.


如何参看swap呢?  这里可以看到内存和swap的使用状态(单位:MB)

Jmeter 监控服务端资源


系统指标

并发用户数:某一时刻同时向系统提交请求的用户数

在线用户数:某段时间内访问系统的用户数,这些用户并不一定同时向系统提交请求

平均响应时间:系统处理事务的响应时间的平均值。事务的响应时间是从客户端提交请求到服务器响应所消耗的时间.

事务成功率:性能测试中,定义事务用于度量一个或者多个业务流程的性能指标,如用户登录, 提交订单操作均可定义为事务.


二.如何监控服务端关键指标呢?

主要针对Unix, Linux, Centos 等进行监控

以unix为例 free、vmstat、sar、iostat等命令监控内存、CPU、磁盘IO等的使用情况, 第三方工具有nmon, spotlight等

今天我们着重讲的是性能测试工具Jmeter监控服务端资源


三. Jmeter监控服务端资源

首先添加监听器 jp@gc - PerfMon Metrics Collector

这是一个插件, 推荐去官网上下载,

https://jmeter-plugins.org/(JMeterPlugins-Standard)

老规矩还是将插件放在%jmeterhome%/lib/ext,重启jmeter生效


演示期间为了避免敏感信息打码, 用本地环境代替服务端(两者在本质上区别不大)

如图添加相关信息后, 并结合实际的线程组的里的用例即可以执行了

Jmeter 监控服务端资源


日志显示出错了,这是怎么回事呢? 别急, 继续往下看

log显示Connection refused (Connection refused), 因为我们还有一件事情没有做. 缺少ServerAgent-2.x, 将它传到服务端上解压即可使用, 可能会遇到权限问题, 给他赋予相应权限, 并执行./startAgent.sh, 至此, 准备工作完成.

好, 让我们来启动一下startAgent

Jmeter 监控服务端资源

agent启动后我们再次回到jmeter执行脚本, 查验我们添加的监控是否有效

Jmeter 监控服务端资源

想要监控服务端的资源性能, 一次或者短时间是不具有说服力和参考价值的, 可以将线程组中的循环次数改变, 如设置为永远.

还有其他方法如设置Ramp-Up,将其设置到一个合适的数值或者结合调度器使用, 几种方式大家可以自己去尝试下, 观察资源变化情况, 这就是业务场景分析, 转化成用例了.

Jmeter 监控服务端资源

性能测试是一个长期投入的过程, 不是简单的跑几次压测工具就能测出问题. 他需要工程师沉淀非常多的性能测试工具使用, 性能测试基础知识, 服务器性能诊断, 服务端性能监控, 以及非常清晰的了解公司服务架构, 中间件, 操作系统, 数据库, 使用的网络协议, 网络, 网关, 路由等, 还需要将公司实际业务转换为测试场景和测试用例.


其他补充:

配置服务器地址和端口号,启动线程组,查看监听器性能渲染图,如果出现图证明成功了,未出现图,查看日志.

1、确认agent是否已启动监控

2、默认端口号是4444,可以自行更换端口

3、与运维确认端口号是否开放

4、确认压测机与服务器是否再同一网段内,若不是同一网段,压测会有***限制结果不准确,需运维重新开设压测机(与服务器同一网段)


如果想要改变默认端口号也是非常方便的

java -jar ./CMDRunner.jar --tool PerfMonAgent --udp-port 9999 --tcp-port 9999

就可以用9999端口号了


今日推荐阅读文章精选推荐

为什么要做接口测试

JMeter数据库操作

Jmeter接口测试-正则表达式

JMeter中文返回乱码

Jmeter接口测试-参数化

JMeter接口测试-基础

测试-感想


咨询工作加微信

Jmeter 监控服务端资源

扫描二维码


欢迎自荐和推荐, 需要的微信推送简历!

请猛戳下面二维码了解更多

Jmeter 监控服务端资源


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI