总体目标
实现输入特定的场景(连接数、消息频率、消息大小、QoS),计算出 EMQ X MQTT Broker 需要的 CPU 核数、内存数、磁盘数。
计算流程
总流程
在计算多出来的 CPU 和内存的时候,按照以下步骤计算:
吞吐量 = 连接 * 消息频率 |
起步价
提供每个连接特定场景(TPS)下的基础配置,即使实际场景消息频率、尺寸比基础配置低,计算的时候也按照基础配置为起步价,防止从头算起导致到后面失真。
10万连接起步配置为 x 核 x GB 内存,每增加 x 个连接, CPU 增加 x%, 内存增加 x%
连接 | TPS | TPS/连接/分 | CPU | 内存 | 节点数 |
---|---|---|---|---|---|
1000 | 6000 | 360 | 2 | 4 | 2 |
5000 | 6000 | 72 | 2 | 4 | 2 |
10000 | 9000 | 54 | 2 | 4 | 3 |
15000 | 9000 | 36 | 2 | 4 | 3 |
20000 | 9000 | 27 | 2 | 4 | 3 |
25000 | 12000 | 28 | 4 | 8 | 2 |
30000 | 12000 | 24 | 4 | 8 | 2 |
50000 | 12000 | 14 | 4 | 8 | 2 |
100000 | 18000 | 10 | 4 | 8 | 3 |
200000 | 18000 | 5 | 4 | 8 | 3 |
300000 | 24000 | 4 | 8 | 16 | 2 |
400000 | 36000 | 5 | 8 | 16 | 3 |
500000 | 36000 | 4 | 8 | 16 | 3 |
1000000 | 36000 | 2 | 8 | 32 | 3 |