/
Bahmni Performance Baselining (OnPrem + JMeter)

Bahmni Performance Baselining (OnPrem + JMeter)

Source Code: GitHub - albionshala/asha-bahmni-performance

⭕️ Automation Technology Stack

⭕️ Base Configuration

Hardware

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

  • CPU: 8 CPU(s)

  • RAM 16GB

  • Hard Disk 1: 100GB

  • Hard Disk 2: 100GB

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: BlazeMeter Script Recorder|| BlazeMeter Chrome Extension in JMeter -Part 4

Install JMeter

Before installing JMeter we have to install Java SDK since Java was not installed. How to install Java: How to install Java JDK on Windows 10 [ 2022 Update ] Step by Step JDK Installation After Java is installed, we are set to install JMeter. How to install JMeter: JMeter Tutorial 2: How to install JMeter on Windows

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:

  • 100 Concurrent Users:

  • 150 Concurrent Users:

📙 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

 

Related content

Bahmni Performance Testing Journey (High Level Summary)
Bahmni Performance Testing Journey (High Level Summary)
More like this
Bahmni Performance Test Scenarios
Bahmni Performance Test Scenarios
More like this
Performance Benchmarking and Capacity Planning
Performance Benchmarking and Capacity Planning
More like this
Bahmni Lite Performance Long Duration Simulation Baselining
Bahmni Lite Performance Long Duration Simulation Baselining
More like this
Remote Java Profiling using YourKit
Remote Java Profiling using YourKit
Read with this
Bahmni Standard Performance Testing Reports
Bahmni Standard Performance Testing Reports
More like this

The Bahmni documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)