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 PostgreSQL, 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, PostgreSQL, and testers

Configuration of EMQX, PostgreSQL, 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 PostgreSQL. All messages are written to the database in real time. During the traffic period, the CPU user ranges from 59% to 68%, with an average CPU user of 64%, and CPU idle ranges from 6% to 20%, with an average of 17%. 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.