Blog
home
APIM이란?
home

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

생성일
2024/09/03 05:20

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%밖에 사용하지 않는 다는 것이다.
#API관리 #API게이트웨이 #API #GATEWAYAPIM #오픈API #OPENAPI #API포털 #APIMANAGEMENT #API플랫폼 #API솔루션 #API마켓