🆘 문제

<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

🗼 OSI 7계층 모델 - 핵심 총정리

스크린샷 2023-04-25 오전 12.24.42.png

🌟시도

※ 동일한 스펙의 인스턴스 2개를 생성하고 프로젝트 배포

스크린샷 2023-05-06 오후 5.49.35.png

※ 로드 밸런서 생성

스크린샷 2023-05-06 오후 6.06.27.png

※ 배포 되어 있는 서버를 로드 밸런서 타켓에 포함