Bahmni 성능 기준선 측정(온프레미스 + JMeter)
⭕️ 자동화 기술 스택
- JMeter: Bahmni 성능을 분석하고 측정하는 부하 테스트용 Apache 프로젝트(https://jmeter.apache.org/)
- BlazeMeter: 오픈 소스 Apache JMeter와 호환되는 서비스형 부하 테스트 플랫폼(https://www.blazemeter.com/)
⭕️ 기본 구성
하드웨어
성능 테스트 환경은 온프레미스 가상 머신에서 실행했습니다.
- CPU: 8 CPU(s)
- RAM: 16GB
- Hard Disk 1: 100GB
- Hard Disk 2: 100GB
도구 설치
성능 테스트 환경은 가상 머신에서 실행했습니다.
BlazeMeter 설치
앞서 설명한 대로 테스트에는 VM을 사용했으므로 해당 VM의 Chrome에 BlazeMeter도 설치합니다. 스크립트를 기록한 뒤 JMeter가 테스트 기반으로 사용할 수 있도록 JMX 파일로 내보내야 합니다.
다음 단계를 따르십시오.
- Chrome에 로그인할 Gmail 계정을 엽니다.
- BlazeMeter를 Google 확장 프로그램으로 설치합니다: https://support.google.com/chrome_webstore/answer/2664769?hl=en
- 로그인하지 않으면 기록을 JMX로 내보낼 수 없으므로 Chrome 계정으로 BlazeMeter에 로그인합니다.
- BlazeMeter로 Bahmni 시나리오를 기록합니다(예: 로그인 후 새 방문 시작). 기록을 마치면 JMX 파일로 내보냅니다. 기록 예시: https://www.youtube.com/watch?v=GSIiaH334Lo
JMeter 설치
Java가 설치되어 있지 않으므로 JMeter보다 먼저 Java SDK를 설치합니다. Java 설치: https://youtu.be/MxjjRmm0k-I Java 설치 후 JMeter를 설치합니다. JMeter 설치: https://youtu.be/rV3H-ZFHz2g
주요 시나리오: 환자 진료 수행
참고: JMeter로 시험하려면 파일을 .jmx로 변환해야 합니다.
결과
중요한 테스트 변수:
- 권장 방식에 따라 시나리오에 Think Time을 적용했습니다. Constant delay는 200ms, Random Delay Max.는 500ms입니다.
- Ramp-up time은 0ms이므로 모든 스레드가 즉시 활성화되려고 합니다. 실제 상황을 나타내기보다 절대적인 최악의 경우를 가정합니다.
상세 보고서는 아래에서 확인할 수 있습니다.
- 동시 사용자 50명
- 동시 사용자 100명
- 동시 사용자 150명
📙 동시 사용자 50명
기능 요청 실패가 없습니다.






상세 보고서는 여기에서 확인할 수 있습니다.
📙 동시 사용자 100명
Bahmni encounter 요청 하나가 시간 초과됩니다.






상세 보고서는 여기에서 확인할 수 있습니다.
📙 동시 사용자 150명
900개의 encounter 요청 중 186개가 시간 초과됩니다.






상세 보고서는 여기에서 확인할 수 있습니다.
다음 오류가 발생했습니다.
마지막 오류는 앞서 시간 초과된 요청 때문에 발생했을 가능성이 큽니다.
원문 정보
원문 보기 ↗Bahmni Wiki · CC BY-SA 4.0