Performance Benchmarking and Capacity Planning

This section holds documentation pertaining to Bahmni Performance & Capacity planning initiative. This activity is currently COMPLETED for Bahmni LITE. To read an overview of activities performed and results, please also read this document: https://bahmni.atlassian.net/wiki/spaces/BAH/pages/3172270109

As part of taking Bahmni on the Cloud and performing an OpenMRS upgrade, we would like to measure Bahmni performance – in terms of hardware, concurrent users, data loads, etc. This activity has the following goals:

  1. Historic Baseline: Benchmark current Bahmni v0.93 Performance, with OpenMRS 2.1.x .

  2. New Baseline: Publish Bahmni performance metrics post OpenMRS upgrade (new version: 2.4.x). This will give us an idea of the new baseline, and also the advantage of having upgraded to new software components. (Note: historic and new baselining should be executed on similar hardware configuration)

  3. Capacity Planning: Run performance tests for Cloud capacity planning, and to be able to predict per-facility cloud running hardware costs. This will involve running the same performance tests which are created as part of the above activity, but run them in different contexts. For instance:

    1. RAM.

    2. Kubernetes Namespace, Pods, Nodes, EC2 instances, CPU/Memory combos, etc.

    3. Different DB (RDS hosted MySQL, Postgres, etc)

    4. Increasing number of Clinics (with some assumptions of Patient-per-day/clinic, obs-per-patient, etc)

  4. Performance Roadmap: Depending on the findings of the above activities, publish a roadmap of next set of experiments, component upgrades, or features that promise to improve the peformance (or reduce the per-facility costs) considerably.

  5. Performance Testing in the DNA: Ensure that performance suite is integrated into the DNA of Bahmni engineering practices via nightly runs, and available to anyone in the community to modify/run/benchmark their own Bahmni deployments.

Slack channel: #performance.

YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications. YourKit is the creator of YourKit Java Profiler. YourKit has been kind enough for supporting Bahmni in our profiling needs for analysis purposes!

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