Try EMQX Platform on Azure, Enjoy AI Integration and Simplified Billing →

Test purpose

Test the performance of EMQX Enterprise single node in a scenario of 100,000 concurrent connections and saving 100,000 QoS 1, payload 200B messages per second to MySQL, and get the performance indicators, such as response time, CPU and memory usage.

Test config and tools

Test environment: VPC of Public Cloud Beijing 4 Test tool: XMeter Enterprise v3.2.0

Configuration of EMQX, MySQL, and testers

Configuration of EMQX, MySQL, and testers

Conclusion

As shown in the above results, the EMQX on a 32C64G machine can support 100,000 concurrent connections and 100,000 messages with QoS 1 and payload of 200B per second persisted to MySQL. All messages are written to the database in real time. During the traffic period, the CPU user ranges from 54% to 65%, with an average CPU user of 60%, and CPU idle ranges from 18% to 30%, with an average of 23%. Memory usage is stable. The average response time of connect during the test is 53 milliseconds, and the average response time of publish is at the level of millisecond.