Jmeter压测MQTT结果分析

前言

为了练习使用Jmeter压测MQTT,在内网环境搭建了EMQ v4.4。整个环境使用了6台PC,CPU是相同型号,EMQ服务器和控制机采用8G内存,负载机4G内存。EMQ服务器和负载机均为CentOS7.9。

负载机环境

指标 数值
CPU Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
内核 4核8线程
内存 4GB
系统 CentOS Linux release 7.9.2009 (Core)
JDK openjdk version "1.8.0_322"
Jmeter 5.4.3

场景设计

持续压测10分钟,发布消息配置高斯随机定时器,4-8毫秒。由4台压测机发起请求。分别设置,线程数分别配置1000、2000、3000、4000、5000。

结果

线程数 请求数 错误数 TPS 最大响应时间 90%响应时间
1000 * 4 9627201 0 16039.29 83 0.00
2000 * 4 5797827 10170 9659.73 16937 0.00
3000 * 4 6280738 180735 10479.41 182095 1.00
4000 * 4 3300990 197869 5468.66 287839 1.00
5000 * 4 1932047 54728 3224.37 486245 87.00

分析

https://jmeter.apache.org/use...有说明,关于Jmeter线程数的限制。原文摘录如下:

A single JMeter client running on a 2-3 GHz CPU (recent CPU) can handle 1000-2000 threads depending on the type of test.

2-3GHz的CPU,能支持1000-2000线程。而测试结果也映证了这一点。在压测过程中,负载机的内存使用率在70%-75%左右,但是CPU都爆满。Jmeter压测MQTT结果分析_第1张图片

你可能感兴趣的:(jmeter)