简介
压力测试过程中,随时对负载服务器的健康状况的把控是相当重要的,有了这些数据,我们才能准确分析出压测瓶颈。如果你面对的是一个集群,如果能了解到负载是否被正确分发,是不是一件很漂亮的事情?为了达到这些目的,JMeter 插件包现在能够支持服务器监控啦!使用这个插件,你几乎可以在所有平台上对服务器的 CPU、内存、Swap、磁盘 I/O、网络 I/O 进行监控!
以下监控插件截图演示了压力测试中的 4 台服务器的 CPU 使用情况:
支持指标统计
版本 0.5.0 之后 JMeter 的服务器代理工具能够支持到 75 项系统指标。参见详细列表。
工作原理
概念
JMeter 无法提取除 Tomcat 之外的其他服务器的默认指标。为了克服这一状况,我们研发了一个服务器代理,JMeter 通过这个代理来获取性能数据。这个代理使用的是 SIGAR 开源库,它是由一个 Java 通用部分和一个每个 OS 的本地库组合而成。
安装
服务器代理工具详情描述参见 http://jmeter-plugins.org/wiki/PerfMonAgent。
用法
GUI 模式
GUI 模式下,只需要添加服务器性能监控监听器,定义服务器列表以及要监控的指标类型,确保代理正常运行在远程服务器上并且没有被防火墙封锁,然后就可以运行测试了。数据将会在实时图表中显示。
非 GUI 模式
如果你在非 GUI 模式下跑 JMeter(参考博客《使用非 GUI 模式运行 JMeter 压力测试》),并且想把监控数据保存到一个文件中,只需在 GUI 中为服务器性能监控监听器配置好要输出到的结果文件即可,就像你为其他监听器所配置的那样。压力脚本运行结束之后,你就可以把保存的文件拖到 GUI 并查看图形数据了。
JMeter 属性
- jmeterPlugin.perfmon.interval - 指标收集时间间隔,单位是毫秒
- jmeterPlugin.perfmon.useUDP - 值为 true 或 false,在 TCP 连接失败后是否尝试 UDP 连接
在线查看你的性能数据
Loadosophia.org 有个 feature,通过它,你可以在一个精彩的 Web 接口中查看你收集的性能数据。这是一个使用示例。
原文链接:http://jmeter-plugins.org/wiki/PerfMon/。