Bahmni Connect 성능 기준
소개
여러 네트워크 조건과 부하에서 Connect 앱이 정상적으로 동작하는지 확인하고 대표 수치를 산출하기 위해 성능 테스트를 수행합니다. 이 수치는 앱의 용량 계획과 설치 전 적절한 소프트웨어·하드웨어 요구사항을 파악하는 데 도움이 됩니다.
성능 테스트에 사용한 장치 및 설정
| Device/ Config | Chrome (Win) | Samsung Tab | Bahmni Server (AWS) |
|---|---|---|---|
| version | Win 7 (32-bit) | - | 0.86 |
| Android | - | 4.2.2 | - |
| RAM | *4 GB | 1 GB | 8 GB |
| CPU | *2.40Ghz | 1.2Ghz Dual Core | 2.40GHz 2 cores |
| Storage | - | 3.5 GB (8GB) | 32 GB |
| IP/Hostname | - | Hosted on AWS |
초기 동기화 시간과 네트워크 대역폭 비교(Chrome/Tab)
| 장치 | 네트워크 대역폭 | 환자 수 | 이벤트 수 | 총 시간(분) |
|---|---|---|---|---|
| Chrome | 2G (450kb/s-150kb/s) | 30 | 9685 | 48 |
| Chrome | Wifi (1.9Mb/s - 1.2Mb/s) | 30 | 9685 | 30 |
| Samsung Tab | Wifi (1.5Mb/s - 1.9Mb/s) | 30 | 9685 | 95 |
| Samsung Tab | 2G (450kb/s-150kb/s) | 30 | 9685 | 120 |
동기화 후 장치 성능: Chrome/Tab
| Device | Flow | #Encounters | Total Time (Secs) |
|---|---|---|---|
| Chrome | Create Patient -> Save | 3500 | 1.78 |
| Clinical -> Patient Listing | 10.11 | ||
| Patient Listing -> Patient Dashboard | 7.5 | ||
| *Patient Dashboard -> Observation | 2 | ||
| Samsung Tab | Create Patient -> Save | 3500 | 5 |
| Clinical -> Patient Listing | 8 | ||
| Patient Listing -> Patient Dashboard | 17 | ||
| *Patient Dashboard -> Observation | 3 |
관찰 결과
1. 동기화 후 Chrome과 Tab 모두에서 4~5초의 지연이 발생합니다. 따라서 장치에서 화면을 이동할 때마다 빈 화면이 나타납니다.
2. 16000개 이상의 이벤트를 동기화하다 실패하면 새로 고침 후 예상과 달리 남은 이벤트의 동기화가 다시 시작되지 않습니다. Chrome의 IndexedDB 저장 공간 문제로 보입니다.
3. 이벤트 수에 따라 DB 크기도 함께 증가합니다. 차트를 참고하세요.
4. 장치 5대에서 초기 동기화를 동시에 실행할 때 Bahmni 서버의 MySQL CPU 사용률이 75%를 넘었습니다.
5. 전체 동기화 시간은 이벤트 수, 네트워크 대역폭, OS 설정에 따라 달라집니다. 예를 들어 16000개 이상의 이벤트에는 3.5시간 이상이 걸렸습니다.
권장 사항
- Bahmni Connect는 환자 30명, Encounter 3500건처럼 작은 데이터 집합에서 정상적으로 동작했습니다. 따라서 더 적은 환자와 Encounter를 선택하도록 동기화 전략을 수립해야 합니다. 여러 장치를 병렬로 설정할 때는 장치별 동기화 시간을 줄이기 위해 한 번에 2~3대씩 설정하세요. 서버가 매우 느려지고 동기화 실패 가능성이 커질 수 있으므로 한 번에 5대를 초과하지 마세요. 동기화가 실패하면 앱에 다시 로그인하여 재시작할 수 있습니다. 마지막으로 실패한 이벤트부터 다시 시작하므로 기존 데이터는 그대로 유지됩니다.
알려진 문제
- Nutritional 값이 비어 있으면 Diagnosis가 undefined가 됩니다. 성능 버그: 초기 동기화가 16k개가 넘는 이벤트에서 실패하면 새로 고침 후 동기화가 재개되지 않습니다. 해결을 위한 조사가 시작되었습니다. Chrome: Chrome 세션이 이미 활성화된 상태에서 Connect 앱 확장을 추가하고 앱을 열면 ‘Offline Data not setup’ 오류가 발생합니다. 해결 방법: Chrome 앱을 닫고 다시 여세요. 같은 Chrome 인스턴스에서 다른 탭을 열면 초기 동기화가 중단됩니다. 해결 방법: 같은 Chrome 인스턴스에 새 탭을 열지 말고 다른 Chrome 인스턴스를 여세요.
원문 정보
원문 보기 ↗Bahmni Wiki · CC BY-SA 4.0