Source Code: https://github.com/albionshala/asha-bahmni-performance

⭕️ Automation Technology Stack

⭕️ Base Configuration

Hardware

The performance environment was running on a on-prem Virtual Machine

Installing Tools

The performance environment was running on a Virtual Machine

Install Blazemeter

For performing the tests, as previously mentioned a VM was used. Therefore, BlazeMeter as well is installed in Chrome there. After recording the script itself we need to export it as a JMX file because JMeter consumes such file as a basis for then conducting the test.

Thus, please follow the below-listed steps:

  1. Open a Gmail account to log in to Chrome

  2. Install BlazeMeter as a Google Extension: https://support.google.com/chrome_webstore/answer/2664769?hl=en

  3. Log in BlazeMeter (because can't export a recording as a JMX without being logged in) with the Chrome account.

  4. Record a scenario in Bahmni with BlazeMeter (e.g. Logging in and starting a new visit). After finishing the recording we can export the file as JMX *Example on how to record a script: https://www.youtube.com/watch?v=GSIiaH334Lo

Install JMeter

Before installing JMeter we have to install Java SDK since Java was not installed. How to install Java: https://youtu.be/MxjjRmm0k-I After Java is installed, we are set to install JMeter. How to install JMeter: https://youtu.be/rV3H-ZFHz2g

MAIN Scenario: Performing a patient consultation

note: make sure to convert it to .jmx if you want to test it out with JMeter

RESULTS

Important testing variables:

  1. The scenario has a "Think Time" attached to it, as recommended here. Constant delay is set to 200ms, and Random Delay Max. is set to 500ms.

  2. The scenario has a 0ms ramp-up time, meaning all of the threads will try to become active instantaneously. This is not representative of a real-life scenario but rather of an absolute worst-case one

A more detailed report can be found below:

📙 50 Concurrent Users

No functional requests fail.

A more detailed report can be found here:

📙 100 Concurrent Users

A single Bahmni encounter request times out.

A more detailed report can be found here:

📙 150 Concurrent Users

186 out of 900 encounter requests time out.

A more detailed report can be found here:

Whereas following errors occurred:

The latter one is probably due to a previous timed-out request