<aside> ⚠️ 문제 : 단일 인스턴스로 프로젝트 목표인 1000 TPS를 초과하는 것은 한계가 있다고 판단했습니다.
</aside>
라벨 | 표본 수 | 평균 응답 속도 | 최소값 | 최대값 | 표준편차 | 오류 % | 처리량(tps) | 수신 KB/초 | 전송 KB/초 | 평균 바이트 수 |
---|---|---|---|---|---|---|---|---|---|---|
Redis 캐시 적용 | 10000 | 11492ms | 127 | 20504 | 5469.811458239943 | 0.0 | 333.8452293516726 | 117.02644575849637 | 135.95064515590573 | 358.954 |
<aside> 💡 동일한 스펙의 추가 서버를 배치하여 부하를 분산하는 Scale-out 전략을 적용함으로써, 비용 대비 성능 향상을 효과적으로 달성할 수 있다고 생각했습니다.
</aside>
스케일 아웃과 스케일 업 비교 | Microsoft Azure
<aside> 🔥 프로젝트는 AWS EC2 서버를 활용하여 배포되고 있기 때문에, AWS Load Balancer 기능을 사용해 부하 분산이 유리하다고 판단했습니다. 로드 밸런서 중 OSI 모델의 레이어 7(Application layer)에서 작동하는 Application Load Balancer가 있습니다. 이 Application Load Balancer는 웹 애플리케이션 및 RESTful API에 대해 더 유연하고 다양한 기능을 제공하므로, AWS Application Load Balancer를 사용하여 TPS를 향상하는 것이 적절하다고 생각했습니다.
</aside>
What is an Application Load Balancer? - Elastic Load Balancing