BBahmni 한국어 매뉴얼검색
한국어 번역 완료
한국어English

Bahmni Performance Baselining (OnPrem + JMeter)

⭕️ Automation Technology Stack

  • JMeter was used as an Apache project that can be used as a load testing tool for analyzing and measuring the performance of Bahmni (https://jmeter.apache.org/)
  • Blazemeter as a load testing platform as a service, which is compatible with open-source Apache JMeter (https://www.blazemeter.com/)

⭕️ 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: 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:
  • 100 Concurrent Users:
  • 150 Concurrent Users:

📙 50 Concurrent Users

No functional requests fail.

image-20220914-094746.pngimage-20220914-094754.pngimage-20220914-094758.pngimage-20220914-094803.pngimage-20220914-094807.pngimage-20220914-094813.png

A more detailed report can be found here:

📙 100 Concurrent Users

A single Bahmni encounter request times out.

image-20220914-094825.pngimage-20220914-094837.pngimage-20220914-094841.pngimage-20220914-094847.pngimage-20220914-094851.pngimage-20220914-094854.png

A more detailed report can be found here:

📙 150 Concurrent Users

186 out of 900 encounter requests time out.

image-20220914-094905.pngimage-20220914-094909.pngimage-20220914-094913.pngimage-20220914-094916.pngimage-20220914-094920.pngimage-20220914-094924.png

A more detailed report can be found here:

Whereas following errors occurred:

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

원문 정보

Bahmni Wiki · CC BY-SA 4.0

원문 보기 ↗