Best Practice 16.3 – Load test your IoT applications
Applications can be complex and have multiple dependencies. Testing the application under load help identify problems before going into production. Load testing your IoT applications ensures that you understand the cloud-side performance characteristics and failure modes of your IoT architecture. Testing helps you understand how your application architecture operates under load, identify any performance bottlenecks, and apply mitigating strategies prior to releasing changes to your production systems.
Recommendation 16.3.1 – Simulate the real device behavior
-
A device simulator should implement the device behavior as close as possible. Do not only test message publishing, but also: connections, reconnections, subscriptions, enrollment and other environmental disruptive events. Start testing at a lower load, progressively increasing to over 100%.
-
For example:
-
Load test at a low percent of your estimated total device fleet, for example, 10%.
-
Evaluate the performance of your application using operational dashboards created to measure end-to-end delivery of device telemetry data and automated device commands.
-
Make any necessary changes to the application architecture to achieve desired performance goals.
-
Iterate these steps increasing the load.
-