강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

조준범 Justin님의 프로필 이미지
조준범 Justin

작성한 질문수

대규모 트래픽 처리를 위한 부하테스트 입문/실전

[실습] 병목 지점(웹 애플리케이션 서버) 해결하기

스프링서버 2개일 때 병목지점 판단하는 법(CPU 사용률?), 권장 TPS 수치

작성

·

161

0

안녕하세요. 강의 정말 잘 수강하였습니다. 지난번 로드밸런서 관련 질문도 강의를 들으면서 자연히 해결이 되었는데요, 현재 완강 상태에서 풀리지 않는 의문점과 개인적으로 궁금한 점이 하나 있어 질문 2가지 드립니다.

 

  1. 로드밸런서를 활용해 스프링 서버를 2개를 띄우고 부하테스트를 진행하여 AWS CloudWatch에서 사용률을 확인하는 것까지는 이해를 하였습니다. 그러나 병목지점을 CPU 사용률이라고 판단을 하셨는데, CPI 사용량이 한 스프링 서버는 100%여서 더 이상 가용할 자원이 없는 것은 이해를 하였으나 나머지 한 서버는 77%로 아직 가용 CPU 리소스가 남아있는 것으로 보여 전체 CPU시스템으로 보았을 때 아직 사용할 수 있는 CPU자원이 남은 것이 아닌지 궁금합니다.

 

 

  1. 한 학기 동안 구성한 프로젝트를 출시를 앞두고 있는데, 일반적으로 tps가 몇 정도는 돼야 안정적인 운영이 가능한지 여쭙니다.

 

좋은 강의 제공해주시어 감사합니다.

답변 2

0

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요 준범님! 좋은 질문 주셨네요:D

  1. 로드밸런서가 가용 CPU가 적은 서버에 트래픽을 더 분배하는 형식이 아니라 단순히 골고루 분배하는 형식이기에, 말씀해주신 구성에서는 아직 사용할 수 있는 CPU 자원이 남아있다고 판단하기가 어렵습니다! 왜냐하면 로드밸런서가 CPU 100%인 서버에도 트래픽을 계속해서 전달하게 될 것이고, 그에 따라 요청에 대한 응답 처리 속도가 저하되기 때문입니다:)

     

  2. 프로젝트 출시를 할 때 사람이 어느 정도 몰리냐에 따라 달라집니다. 하지만 회사에서 출시하는 서비스가 아닌, 개인 프로젝트를 출시하는 경우에는 1초에 1번 이상의 요청이 일어나는 경우가 드뭅니다. 따라서 tps가 1 이상이기만 하면 충분히 서비스를 운영하는 데 차질이 없다고 생각합니다! 하지만 만약 출시하실 프로젝트가 1초에 n번 이상의 요청이 발생할 것이라고 예상되면, tps의 목표는 n번으로 잡으셔야 할 거에요:) 프로젝트의 특성과 상황에 맞게 목표를 설정하셔야 합니다.

 

이 외로 궁금하신 점 있으시면 또 질문 남겨주세요~~~

0

안녕하세요, 인프런 AI 인턴입니다. 조준범 Justin님. 질문 주셔서 감사합니다.

  1. 병목지점 판단:

    • 스프링 서버 2개 중 하나의 CPU 사용률이 100%에 도달했다면, 해당 서버는 요청을 더 처리하지 못해 병목이 발생할 가능성이 큽니다. 로드밸런서가 두 서버로의 요청을 고르게 분산한다면, 한 서버가 과부하 상태인 경우 전체 애플리케이션 성능에 영향을 줄 수 있습니다. 이 상황에서는 부하가 더 큰 서버를 위한 최적화나 추가 리소스 할당이 필요할 수 있습니다.

    • CPU 외에도 네트워크 대역폭, 메모리, 디스크 I/O 또한 병목의 원인이 될 수 있으므로 종합적으로 모니터링하여 병목 지점을 파악하는 것이 좋습니다.

  2. 권장 TPS 수치:

    • TPS(Traffic Per Second)는 각 서비스의 특성, 사용자 수, 사용 패턴에 따라 다르게 적용해야 합니다. 안정적인 TPS 수치는 서비스 요구사항에 따라 달라지지만, 일반적인 웹 서비스에서는 최소 수백 TPS 정도를 핸들링할 수 있어야 안정적인 운영이 가능합니다.

    • 서비스의 실제 사용자 행동을 기반으로 시뮬레이션하고, 예상되는 최대 부하 상황을 고려하여 TPS 목표를 설정해 보세요. 가용 인프라와 최적화를 통해 최대치에 도달할 수 있도록 테스트하는 것이 중요합니다.

유사한 토론과 답변이 있을 수 있으니, 관련 정보는 다음 링크를 참고하세요:
- 병목 지점 파악 및 최적화 전략
- TPS 설정 및 모니터링 방법

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

조준범 Justin님의 프로필 이미지
조준범 Justin

작성한 질문수

질문하기