Webinar
Introducing EMQX 6.1: Durable MQTT Streams and Analytics-Ready Data | Register Now →

Performance Test Report for EMQX Cloud: 100,000 CONN / 100,000 TPS

Benchmark ReportOct 17, 2022

The purpose of this test is to demonstrate that EMQ X Cloud with the SPEC of 100,000 CONN / 100,000 TPS can support 100,000 concurrent connections and 100,000 message TPS.

To verify the capability, we picked two scenarios.

The first was the Pub:Sub 1:1 scenario, where the number of pub clients was the same as the sub clients, and each pub client had a dedicated topic to publish messages, meanwhile, each sub client subscribed to one different topic. It meant for a message EMQ X Cloud received, it only forwarded to one sub client.

In this testing, the 1:1 scenario had 100,000 pub clients and 50,000 subscribers with 100,000 different topics (1 subscriber per topic), and each pub client published 1 message per second with different size of payload, meaning that “message in” throughput and “message out” were the same. Hence, the total message throughput was 100,000 per second.

The second scenario was fan-out, where 100,000 clients were subscribed to 1 topic. It meant, for a message EMQ X Cloud received, it forwarded to 100,000 subscribers. So, if the pub client published 1 message per second, the message-out throughput was 100,000.

Scenario Pub:Sub 1:1

Scenario Fan-out

The detailed test cases we executed are as follows:

Pub:Sub 1:1

  1. 100,000 concurrent connections, 100,000 QoS 0 message TPS with 1k payload size (50,000 pub+50,000 sub)
  2. 100,000 concurrent connections, 100,000 QoS 0 message TPS with 10k payload size (50,000 pub+50,000 sub)

Fan-out

  1. 100,000 concurrent connections, 100,000 QoS 0 message TPS with 1k payload size (1 pub+100,000 sub)
  2. 100,000 concurrent connections, 100,000 QoS 0 message TPS with 10k payload size (1 pub+100,000 sub)

Test Results

Scenario#VariationCPU*CPU LoadRAM usedSub avg resp time(s)
Pub:Sub 1:11100k connections, 50k pub tps, 50k sub tps, qos 0, payload 1k48%<1017%0.0010
2100k connections, 50k pub tps, 50k sub tps, qos 0, payload 10k55%<1328%0.0012
Fan-out1100k connections, 1 pub tps, 100k sub tps, qos 0, payload 1k14%<1714%0.1963
2100k connections, 1 pub tps, 100k sub tps, qos 0, payload 10k20%<2017%0.7718

Related Resources