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.