본문 바로가기
개발자의삶/Android

Springboot+JAVA+Webflux+R2DBC 의 db별 성능 비교

by 트라네스 2024. 4. 24.
728x90
반응형

 

 Springboot 를 사용하다보니 주로 springboot+java+mysql(mariadb) 조합을 주력적으로 사용하게 되었는데 2년 전쯤 대용량 트래픽과 Non Blocking IO에 대해서 한 번 공부를 할 계기가 있었는데 그 당시에 자료만 찾아보고 구현만 대강 해보고 말았는데 이번에 구현도 해보고 각 db를 썼을 때 어떤 성능의 차이가 있는지 성능 테스트를 해보았다. 

 

 Springboot 및 각 DB 에 대한 자료는 아래 github 를 참고하시면 될 것 같습니다. 그냥 가볍게 membership이라는 테이블의 데이터를 일괄 조회하는 형태입니다. 

 

 

 

GitHub - hyeongminju/db-performance-test

Contribute to hyeongminju/db-performance-test development by creating an account on GitHub.

github.com

 

 결론부터 말하자면 아래와 같습니다. 대강 h2와 mongodb는 비슷하고 mysql 은 성능이 떨어진다.

Postman 으로 수행한 각 datasource 별 성능 테스트#1
Postman 으로 수행한 각 datasource 별 성능 테스트#2

 아무래도 논-블로킹을 지원하는 Datasource 를 쓸 때에 의미가 있는 아키텍처일 것 같다.

 

 테스트는 Postman 으로 Collection 메뉴에서 햄버거 버튼(3점 버튼)을 눌러서 Run Collection 을 수행하여 나오는 Performance Test 를 수행하였다.

Performance Test 에 활용된 Postman

더보기

100유저 Spike Base User 50 

mongodb 를 포스트맨으로 테스트 #1

100유저 Spike Base User 80

mongodb 를 포스트맨으로 테스트 #2

 

100유저 Spike Base User 50 

h2 를 사용했을 때 postman 테스트

 

100유저 Spike Base User 80 

h2를 이용한 postman 성능 테스트#2

 

100유저 Spike Base User 50 

mysql 을 사용했을 때의 postman 성능 테스트 #1

 

 

100유저 Spike Base User 80

mysql 을 사용했을 때의 postman 성능 테스트 #2

 

728x90
반응형

댓글


TOP

TEL. 02.1234.5678 / 경기 성남시 분당구 판교역로