Thursday, January 3, 2019

400,000 MQTT connections to IBM MessageSight for real-time performance testing

As part of our MQTT broker and IoT Platform testing program, we had
previously connected 100,000 simulated connections to IBM MessageSight.

Now, with the latest MIMIC MQTT Simulator 18.10 running in Docker
instances on 2 VirtualBox VMs (16GB RAM and 4 CPUs each), we managed
to start 200,000 simulated sensors connecting to IBM MessageSight 2.0 in
under 15 minutes.

Contrary to the prevailing testing methodologies, where either dummy
MQTT sessions are opened (not doing anything other than maintaining
the session with PING responses), or the vast majority of clients subscribe
rather than publish, each of our clients simulates a sensor publishing
telemetry. To test the actual performance of the topic switching, you can
now add your expected number of subscriber on the expected topic

With this fast turnaround we can now do timely investigation of the
real-time performance impact of other variables such as:

1) unencrypted vs. TLS

2) varying message frequency

3) varying payload sizes with arbitrary content (JSON, binary, etc)

4) different QOS levels

5) varying topic hierarchies

6) varying subscription levels

7) impact on end-to-end latency

As always, each of the 200,000 sensors can be controlled individually or in
a group in real-time to affect payload contents, payload frequency,
connection status to verify handling of pathological conditions by the
IoT platform.

Update 1/8/2019: We have achieved 300,000 simultaneous connections.
Do you see where this is going?

Update 1/29/2019: We have achieved 400,000 simultaneous connections
on the newly released MessageSight 5.

Update 6/1/2022: MessageSight is now open-sourced as Eclipse Amlen

No comments: