Creating a large data set

The first step of performance testing is getting a large enough data set on an environment similar to the production one. For OpenIMIS, we are doing:

Locust load testing

Locust.io is a open source load testing tool using Python. We created some helper methods for authentication and some service calls. From there, it is rather easy to create test scenarios.

Repository home: https://github.com/openimis/openimis-loadtest

The beginning of the script provides a few configuration parameters for the ready-made scenarios:

Then come a few functions that encapsulate a single action and annotated with @task. These will be shown in the report with their performance metrics.

The on_start() method performs the necessary authentication and supports both hybrid mode and full modular with JWT. (This allows the testing of older versions)