Blog
home
APIM이란?
home

성능 및 부하 테스트가 필요한 이유 (2)

카테고리
Tech
Performance
Load Testing
생성일
2024/09/03 05:20
요약
OSORI API Gateway는 Rust 기반으로 안정성과 효율성을 강조하며, Tomcat 대비 2배 높은 TPS와 낮은 자원 사용률로 뛰어난 성능과 비용 효율성을 입증했습니다.

2) 성능 및 부하 테스트를 위한 준비사항

앞서 얘기 한 것처럼, API Gateway는 API 요청 및 응답의 출입문 역할을 합니다. 성능 및 부하테스트의 대상은 Proxy 기능을 하는 API Gateway 입니다.
테스트의 목적은 초당 얼마나 많은 요청을 처리할 수 있는지, 시스템 자원(CPU, Memory)을 얼마나 많이 사용하는지를 확인 하고, 비교하는 것입니다.
1.
API Gateway 준비하기
별도의 서버 준비
CPU: 4CPU
Memory: 8G
테스트 기능
Proxy: Client로부터 API 요청을 받아 API 서버에 요청 전달 및 응답을 Client에 전달
비교 테스트를 위한 Tomcat + Proxy Servlet 추가 준비
2.
API 준비하기
별도의 서버 준비
CPU: 4CPU
Memory: 8G
API
요청을 받으면 4kbytes json 응답을 만들어 전달
3.
Client 준비하기
별도의 서버 준비
CPU: 4CPU
Memory: 8G
테스트 툴중 nGrinder 오픈 소스 사용
nGrinder Controller, Agent, Monitor 준비
참고로, nGrinder의 장점은 타켓이 되는 서버의 시스템 자원 측정을 위한 Monitor를 제공하여, 테스트 이후 TPS와 함께 CPU, Memory 정보를 UI로 확인할 수 있다는 것과, Agent를 별도로 두어 동접자를 늘릴 수 있다는 것입니다.

3) 성능 및 부하 테스트 실행 및 결과

테스트 환경
동접자: 100 users (5개 프로세스 * 각 20개 쓰레드)
테스트 시간: 5 minutes
테스트 1
[Client] — https → [OSORI API Gateway] — https → [API Server: 4k json]
테스트 2
[Client] — https → [Tomcat + Proxy Servlet] — https → [API Server: 4k json]
테스트 결과
OSORI API Gateway
평균 TPS: 11,177
5분간 처리된 요청/응답 수: 3,310,757
평균 CPU 사용률: 76%
평균 Memory 사용률: 0.3G (Monitor 프로세스의 사용률 1.5G 뺌)
Tomcat + Proxy Servlet
평균 TPS: 6,232
5분간 처리된 요청/응답 수: 1,845,405
평균 CPU 사용률: 91%
평균 Memory 사용률: 2.7G (Monitor 프로세스의 사용률 1.5G 뺌)

4) 요약

구분
평균 TPS
CPU 사용율
메모리 사용량
요청처리수/5분
JAVA 기반 Tomcat + Proxy server
6,232
91%
2.7G
1,845,405
RUST 기반 OSORI API Gateway
11,177
76%
0.3G
3,310,757
OSORI의 경우 Tomcat 보다 2배 가까운 TPS 성능을 보여주었다. 5분간 처리된 요청/응답 수를 보면 Tomcat 보다 150만건 정도 더 처리한 것을 볼 수 있다. (단순히 API 요청 처리 한건당 10원 이라 생각해보면, 1500만원을 더 벌어들인 것이다.)
한가지 더 주목해 보아야 할 것은, 더 많은 요청을 처리하면서 CPU 사용률은 15% 더 낮고, Memory 사용량은 Tomcat보다 11%밖에 사용하지 않는 다는 것이다.
(궁금증, 호기심, 가이드, 공유 등)커피챗이나 미팅 요청은 언제든 환영입니다! 채널톡으로 편하게 연락주세요!
#위베어소프트 #오소리 #OSORI #오픈API #APIGateway #APIM #API관리 #API게이트웨이 #API포털 #API플랫폼 #API솔루션 #API마켓