Executive Summary
This test was conducted on Huawei Cloud. It mainly tested ten million MQTT connections test and various combinations of message throughput test. The related test results are shown below.
Note: Unless otherwise specified, all connections are set as 300 seconds of Ping packet by default.
10 million connections test: This test only tests the connection of MQTT. Except for the fixed time Ping packet, each client does not pub/sub any MQTT message:
- 90% average response time < 2ms; maximum response time is 2.3 seconds
- The average CPU usage per node is about 8%, and the maximum is no more than 20%.
- Average memory usage per node is approximately 9GB
Message throughput test: Background connection of 9 million for simulating clients with connection and sending ping packets, while the remaining 1 million simulates clients for sending actual business data:
- Message body is 88 bytes
- 90% average response time <70ms
- CPU usage increases as message throughput increases
- Average memory usage per node is 9 - 10GB
Message Throughput Test Type 1: Pub Message Test
Except for the 9 million background connections in this type of test, the remaining 1 million business connections only do pub message operations. Test results show that the response time is very small, the CPU usage is less than 25%, and the memory usage is 9GB.
Message throughput test type 2: 500,000 topic usage
Except for the 9 million background connections in this type of test, the remaining 1 million connections mainly conduct message forwarding test using a large number of topics. The test results show that in the case of using 500,000 topics, when the QoS is 0, the throughput of Pub and Sub can reach 200,000/sec respectively. When the QoS is 1, the throughput of Pub and Sub can stably reach 100,000/sec respectively. EMQX performed well in the scenarios of a large number of topics usage.
Message Throughput Test Type 3: Message Broadcast Test
Except for the 9 million background connections in this type of test, the remaining 1 million connections are mainly used for message broadcast test. In this test scenario, a small number of Pubs are used to send messages to topics, and a large number of Subs subscribe to related topics to broadcast messages to these Subs. The test results show that the message throughput of broadcasting can reach 1.8 million/sec when the QoS is 0, and that of broadcasting can reach 900,000/sec when the QoS is 1.