Classic Load Balancer에 대한 Amazon CloudWatch 지표 SurgeQueueLength의 최대 통계치가 증가했습니다. 또한 클라이언트가 Classic Load Balancer에 연결하려고 할 때 HTTP 503 Service Unavailable 또는 HTTP 504 Gateway Timeout 오류가 표시됩니다. 이 Elastic Load Balancing 용량 문제를 해결하려면 어떻게 해야 합니까?
Classic Load Balancer 지표 SurgeQueueLength는 Classic Load Balancer에 의해 대기열에 대기 중인 총 요청 수를 측정합니다. SurgeQueueLength의 최대 통계치가 증가했다는 것은 백엔드 시스템이 요청이 수신될 때만큼 빠르게 수신 요청을 처리할 수 없음을 의미합니다. 높은 SurgeQueueLength 지표의 가능한 원인은 다음과 같습니다.
- Classic Load Balancer 배후의 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스가 과부하 상태여서 모든 수신 요청을 처리할 수 없는 상황
- 외부 리소스 성능 문제에 따른 애플리케이션 종속성 문제
- 인스턴스의 최대 허용 연결 한도
요청 수가 최대 SurgeQueueLength를 초과하면 SpilloverCount 지표가 거부된 요청 수를 측정하기 시작합니다. 최대 SurgeQueueLength는 1,024개입니다.
- Classic Load Balancer로 Auto Scaling 그룹을 구성하여 수요에 따라 인스턴스 수를 조정합니다.
- CloudWatch를 구성하여 Classic Load Balancer를 모니터링합니다.
- Classic Load Balancer 배후의 인스턴스에 대한 세부 모니터링을 활성화하여 CPUUtilization 지표를 모니터링합니다. 인스턴스별 통계치를 수집할 수도 있습니다. CPU 사용률이 급증하는 경우 인스턴스의 기존 요청 처리 건수가 너무 많아 새로운 요청을 수락할 수 없습니다. 처리 성능을 개선하여 인스턴스 수를 늘리거나 인스턴스 유형을 확장하는 방안을 검토해 보십시오.
- Classic Load Balancer의 HTTP 오류 해결 로드 관련 문제가 발생하면 일반적으로 503 또는 504 HTTP 오류가 표시됩니다.
- EC2 인스턴스가 Apache를 실행하는 경우에는 Amazon EC2 Linux 인스턴스에서 실행되는 Apache 웹 서버에 대한 메모리 할당을 튜닝하려면 어떻게 해야 합니까?를 참조하십시오.
- 시간이 경과하면서 통상적인 트래픽 관련 성능 문제가 늘어나면 인스턴스 용량 증가를 검토해 보십시오.