一. 场景
在做性能测试的时候, 服务端的各项资源指标是性能测试非常关心的问题
性能测试监控的指标主要分为两大类: 资源指标和系统指标
1.资源指标与硬件资源消耗息息相关.
2.系统指标则与用户场景和业务需求直接相关.
资源指标
如何参看swap呢? 这里可以看到内存和swap的使用状态(单位:MB)
系统指标
二.如何监控服务端关键指标呢?
主要针对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生效
演示期间为了避免敏感信息打码, 用本地环境代替服务端(两者在本质上区别不大)
如图添加相关信息后, 并结合实际线程组里的用例, 即可以执行了.
日志显示出错了,这是怎么回事呢? 别急, 继续往下看
log显示Connection refused (Connection refused), 因为我们还有一件事情没有做. 缺少ServerAgent-2.x, 将它传到服务端上解压即可使用, 可能会遇到权限问题, 给他赋予相应权限, 并执行./startAgent.sh, 至此, 准备工作完成.
好, 让我们来启动一下startAgent
agent启动后我们再次回到jmeter执行脚本, 查验我们添加的监控是否有效
报错信息没有了,说明我们的agent部署成功了.
想要监控服务端的资源性能, 一次或者短时间是不具有说服力和参考价值的, 可以将线程组中的循环次数改变, 如设置为永远.
还有其他方法如设置Ramp-Up,将其设置到一个合适的数值或者结合调度器使用, 几种方式大家可以自己去尝试下, 观察资源变化情况, 这就是业务场景分析, 转化成用例了.
性能测试是一个长期投入的过程, 不是简单的跑几次压测工具就能测出问题. 他需要工程师沉淀非常多的性能测试工具使用, 性能测试基础知识, 服务器性能诊断, 服务端性能监控, 以及非常清晰的了解公司服务架构, 中间件, 操作系统, 数据库, 使用的网络协议, 网络, 网关, 路由等, 还需要将公司实际业务转换为测试场景和测试用例.
其他补充:
配置服务器地址和端口号,启动线程组,查看监听器性能渲染图,如果出现图证明成功了,未出现图,查看日志.
1、确认agent是否已启动监控
2、默认端口号是4444,可以自行更换端口
3、与运维确认端口号是否开放
4、确认压测机与服务器是否再同一网段内,若不是同一网段,压测会有V**限制结果不准确,需运维重新开设压测机(与服务器同一网段)