개요

며칠 전 리얼타임테크의 카이로스를 데이터 프로바이더로 설정하여 지도서비스를 발행하고, Disk 기반 DBMS 대비 응답 속도가 확실히 빠른 것을 확인할 수 있었다. 이에 동일한 환경에서 각각 어느정도 성능을 보이는지 Apache JMeter를 이용하여 시험을 진행

> 이전 포스트 확인 : 메인 메모리 기반 고성능 웹 맵 서비스 (WoW! Kairos)


목적

메인메모리 DBMS와 일반 DBMS가 보이는 성능 차이를 정량적으로 확인함


환경구성

1. Server : Linux Container, 가상서버 위에 설치되는 DBMS
2. DBMS : Kairos (제조사:리얼타임테크),  PostGIS
3. WAS(Web Application Server) : Linux Container(메모리 512M 할당) 에 설치된 Apache Tomcat

4. Test 대상 App : 자체 제작한 간단한 WMS
5. 테스트 도구 : Apache JMeter
6. 테스트 방법 : 동사시용자를 1명에서 10명까지 늘려가며 각 10번씩 호출하고 나온 계측 값을 평가


시험결과

1. 메인메모리 DBMS가 빠른 처리 성능으로 단일 테이블에 접근하는 WMS의 경우 동시에 수용할 수 있는 사용자가 더 많음을 확인 
2. 제한적인 경량 컨테이너 환경에서 카이로스와 공개SW인 PostGIS 모두 만족할 만한 성능을 보임
3. 경량컨테이너로 구성되는 개별 서비스를 Proxy로 웹서버 계층에서 통합한다면 저비용으로 고성능 서비스가 가능함
4. PostGIS의 경우 동시사용자 7명을 기준으로 초당 쓰루풋이 감소하여, 성능향상을 위한 확장이 요구되었고, Kairos의 경우 9명을 기준으로 성능향상을 위한 확장이 요구됨





서비스 바로가기 (Kairos 맵 서비스)

서비스 바로가기 (PostGIS 맵 서비스)

서비스바로가기

개요

WMS(Web Map Service) 제공을 위한 데이터 프로바이더 계층에 메인메모리 DBMS를 사용함. 메인메모리 DBMS는 국내 업체인 리얼타임테크의 "Kairos"를 사용하였음. 데이터 프로바이더로써 클라우드서비스가 제공하는 가상서버에 DBMS를 설치하고 PaaS가 제공하는 컨테이너에 WMS 어플리케이션을 적재함.

제조사 홈페이지 바로가기: http://www.realtimetech.co.kr



목적

GIS 응용 서비스 제공을 위하여 메인메모리 DBMS가 Disk DBMS와 비교할 때 어느 정도의 성능향상을 보이는지 확인함


환경구성

1. Server : Linux Container, 가상서버 위에 설치되는 DBMS
2. DBMS : Kairos (제조사:리얼타임테크)
3. WAS(Web Application Server) : Apache Tomcat


개발환경 및 배포

1. 이클립스에서 일반 웹앱을 제작하는 방법을 준수하고, 
   배포서버를 이클립스에 등록된 서버 중 CloudFoundry를 지정하고 연결계정을 등록하여 해당 서버로 배포함
2. 최초 제작된 웹 앱(WMS)을 복사하여 어플리케이션 명칭을 변경하여, 필요한 갯수만큼 클라우드(CloudFoundry)에 배포
   ( 웹 어플리케이션의 수평적 확장 적용)

구현

1. 다양한 데이터프로바이더 수용을 위해 성능제약이 존재하는 지오서버 등의 Pakage SW 사용을 배제하고
2. DBMS가 반환하는  GIS 자료구조( WKB, WKT)를 자바 도형(java.awt.Shape) 으로 변환하여 이미지 렌더링
  (흔히 말하는 GIS 엔진의 사용을 배제 : 이미 공간 DBMS가 훌륭한 GIS 서비스 엔진임)

구현결과

1. 연속지적도(전국 SHP 파일 용량 기준 약 30GB)를 기준으로 8개의 웹 앱으로 클러스터링 했을 경우,
   동일한 환경의 Disk DBMS (PostGIS)  대비 약 10배 이상의 성능 향상을 확인
2. 수평확장되는 웹 앱(WMS)의 갯수만큼 성능이 향상확인 (저비용 서버 확장)

성능향상을 위한 개선 사항

1. 인프라 레벨에서 물리 또는 가상으로 이용될 수 있는 가속장치가 있을 경우,
   렌더링시켜야하는 도면데이터 조회 후 이미지 렌더링 속도 약 20% 향상 가능
2. 데이터 프로바이더(DBMS) 계층의 수평적 확장으로 처리되는 WMS 서버의 갯수를 최적화 시킴으로써 동시에 수용할 수 있는 사용자 증가


적용 및 응용 분야

1. 실시간 변경되는 공간정보의 실시간 서비스 발행
2. 사용자에게 빨리 전달되야 하는 비싼(?) 데이터의 저장 및 서비스 발행에 유용


결론

1. 동일한 환경 조건일 경우, 메인메모리 DBMS가 일반적인 DBMS가 월등한 성능을 보이는 것을 확인
2. 제한적인 메모리의 용량을 고려할 때 메인메모리에 적재되어야 하는 데이터의 식별이 중요함


서비스 바로가기

> 서비스 비교 (Disk 기반 웹 맵서비스)



+ Recent posts