Bahmni 0.87 이후 성능 개선
Bahmni 0.87의 주요 변경 사항:
- OpenMRS를 주요 버전 2.0으로 업그레이드했습니다. Java를 버전 8로 업그레이드했습니다.
실시간 시나리오를 모방하는 Gatling 시나리오 모음을 일정 기간 실행해 성능을 모니터링했습니다. Gatling simulation에는 Clinical 흐름, Registration 흐름, Inpatient 흐름 및 Atomfeed 호출 시나리오가 포함됩니다.
시나리오와 구성은 https://github.com/Bahmni/experiment/tree/master/bahmni-gatling/src/test/scala/org/bahmni/gatling 에서 확인할 수 있습니다.
환경 및 테스트 구성:
| RAM | 8GB |
|---|---|
| Swap space | 4GB |
| Database used | Anonymised Prod data |
| Services run | Openmrs |
| Test Duration | 1 hour |
| Load Configuration | load configuration |
| Monitoring tool | Newrelic APM tool |
관찰 결과:
업그레이드 전:
| Average Response time | Throughput |
|---|---|
| 119 ms | 1840 rpm |
업그레이드 후:
| Average Response time | Throughput |
|---|---|
| 43 ms | 4140 rpm |
업그레이드 전후 모두 JVM과 CPU가 안정적인 것으로 확인되었습니다.
Java 8부터 CPU 시간에서 Java가 차지하는 비율도 약 10% 감소했습니다.
OpenMRS에서도 여러 성능 개선이 이루어졌습니다. 그중 하나는 Person, Address, PersonName, GlobalProperty, Role, Privilege 같은 entity에 Hibernate second-level cache를 활성화한 것입니다.
원문 정보
원문 보기 ↗Bahmni Wiki · CC BY-SA 4.0