Testing Bahmni with 200-400 concurrent users


I’d like to address this question with the community and the administrators of the forum itself. Since I intend to research more about Bahmni’s architecture because I want to know if I can deploy Bahmni and its components (OpenMRS, OpenLIS, Odoo) in multiple health facilities (e.g. 200) and make it work with more concurrent users (e.g. 200-400).

So far I’ve seen in some replies that no more than 100 concurrent users are possible in Bahmni so this is why I want to see where are the bottlenecks and how I can improve this.

@angshuonline @gsluthra @mksd @n0man @ajeenckya @arjun @mksrom @pramidat @ramashish @shivarachakonda @binduak @swetha184 @laxman @anandpatel @snehabagri @sushilp @sushmit @vmalini @dipakthapa @ramashish @pradiptakundu @mddubey @rrameshbtech @mddubey @iadksd @mwelazek @michaelbontyes @buvaneswariarun @praveenad @sanjayap @florianrappl @apaule @mwelazek @som.bhattacharyya @tejakancherla @rabbott @gsluthra @wolf @mdg583 @gsluthra @akhilmalhotra @n0man @swatigogia @mohant @abinaya


@aidjali first, what came out from the PAT call that you attended?

@mksd not much indeed. From the participants there, none tested before with this many concurrent users. But I’ve got recommendations on how I could do it on my own and this is what I’ll try. By overloading services.

Are you looking at using Bahmni in a hospital where you expect simultaneous (concurrent) users entering data in the system to be more than 100? Note that, even when all hospital users are online at the same time, most operations are happening within the local browser – and only on click of submit or specific operations on screen, does the server come into picture. Therefore, in most cases, concurrent LOAD on the server is 5-10% of actual online users.

For simulating high concurrent load on Bahmni, you could re-purpose some of the Gatling scripts which were written for performance testing. Here is the link: https://bahmni.atlassian.net/wiki/spaces/BAH/pages/110460954/Performance+Improvement+since+Bahmni+0.87

It would be great if you can run tests & publish your findings.

Please do note down:

  1. Server configuration
  2. Number of Patients, Observations, etc. (volume of data)
  3. Network speed
  4. Version of Bahmni, OS, Databases, etc.
  5. P90, P95 percentile response times.
  6. Which use-cases did you run and how the load was spread (Gatling scripts).

With regards to large installations, maybe others can answer. cc @angshuonline . @rakib

Note: Another possible Gatling performance test repository for reference:

cc: @vinay

1 Like

That’s a good point, at worst you have 100 concurrent reads not 100 concurrent writes, and that makes a lot of difference.