Apache JMeter 是一个开源的性能测试工具,广泛用于对Web应用、API、数据库等进行负载测试和压力测试。JMeter 支持通过插件扩展功能,使其更加强大和灵活。以下是关于 JMeter 阶段压测及其插件的详细介绍:
使用 Stepping Thread Group
Stepping Thread Group 是另一个常用的线程组插件,用于逐步增加负载。
安装:
-
通过 JMeter 插件管理器安装 Stepping Thread Group。 -
在测试计划中添加 Stepping Thread Group。 配置:
-
初始线程数:10。 -
每 30 秒增加 10 个线程,直到达到 100 个线程。 -
设置初始线程数、逐步增加的线程数、步长时间和持续时间。 -
例如:
2. JMeter 插件
JMeter 插件可以扩展其功能,使其支持更多的协议、测试类型和报告生成。以下是一些常用的插件:
2.1 JMeter Plugins Manager
JMeter 插件管理器是安装和管理插件的核心工具。
安装:
-
下载 plugins-manager.jar并放入 JMeter 的lib/ext目录。 -
重启 JMeter,在菜单栏中可以看到 Plugins Manager。 功能:
-
浏览、安装和更新插件。 -
管理已安装的插件。
2.2 PerfMon Metrics Collector
用于监控服务器资源(如 CPU、内存、磁盘 I/O)的插件。
安装:
-
通过 Plugins Manager 安装 PerfMon Metrics Collector。 -
在测试计划中添加 PerfMon Metrics Collector监听器。 配置:
-
设置服务器地址和监控指标(如 CPU、内存)。 -
在测试过程中实时查看服务器资源使用情况。
2.3 JSON/YAML Plugins
用于处理 JSON 和 YAML 数据的插件。
安装:
-
通过 Plugins Manager 安装 JSON/YAML Plugins。 -
使用 JSON Extractor或YAML Extractor提取数据。 功能:
-
解析和提取 JSON/YAML 响应数据。 -
支持复杂路径表达式。
2.4 Graph Results Listeners
用于生成性能测试图表的插件。
常用图表:
Response Times Over Time:响应时间随时间的变化。 Transactions per Second:每秒事务数。 Active Threads Over Time:活跃线程数随时间的变化。 安装:
-
通过 Plugins Manager 安装 3 Basic Graphs或Custom Graphs。 -
在测试计划中添加相应的监听器。
3. 阶段压测示例
以下是一个使用 Stepping Thread Group 的阶段压测示例:
安装插件:
-
通过 Plugins Manager 安装 Stepping Thread Group。 配置线程组:
-
设置总的线程数 -
设置起始线程数 -
设置每隔多少s,加载多少线程,之后启动多少线程
-
添加 Ultimate Thread Group。 -
设置三个阶段: 添加 Sampler:
-
添加 HTTP 请求 Sampler,配置目标 URL 和参数。 添加监听器:
-
添加 View Results Tree和Response Times Over Time监听器。 运行测试:
-
启动测试,观察系统在不同负载下的表现。
总结
JMeter 是一个功能强大的性能测试工具,通过插件可以扩展其功能,支持复杂的阶段压测和资源监控。合理使用线程组和插件,可以帮助你更好地模拟真实场景,发现系统性能瓶颈。

