내용으로 건너뛰기

ECS에서 응답 시간이 긴 문제를 해결하려면 어떻게 해야 합니까?

3분 분량
0

Amazon Elastic Container Service(Amazon ECS) 작업을 통해 긴 응답 시간과 지연 시간 문제를 해결하고 싶습니다.

해결 방법

Amazon ECS 서비스 수준 지표 확인

CPU 및 메모리 사용률이 높으면 Amazon ECS 작업의 응답 지연 시간이 길어질 수 있습니다. Amazon CloudWatch 지표를 사용하여 서비스 수준 CPU 및 메모리 사용률을 볼 수 있습니다. CloudWatch Container Insights를 활성화한 경우 컨테이너 수준의 CPU 및 메모리 사용률을 확인하십시오. Container Insights를 활성화하지 않은 경우 Amazon ECS 작업 및 컨테이너 인스턴스를 모니터링하도록 CloudWatch Container Insights를 구성하려면 어떻게 해야 합니까?를 참조하십시오.

애플리케이션의 컨테이너가 CPU 집약적 워크로드를 수행해야 하는 경우 추가 가상 CPU(vCPU)와 메모리가 포함된 더 큰 작업 크기로 업그레이드하십시오. 또는 Application Auto Scaling을 활성화하십시오.

Amazon EC2 시작 유형의 Amazon ECS 작업

Amazon EC2 시작 유형을 사용하는 Amazon ECS 작업의 Amazon Elastic Cloud Compute(Amazon EC2) 인스턴스의 CPU 및 메모리 사용률을 확인하십시오.

CloudWatch 지표를 사용하여 Amazon EC2 인스턴스의 네트워크 성능을 모니터링할 수 있습니다. 인스턴스 네트워크 대역폭사용 가능한 인스턴스 기준 대역폭을 초과하는 경우 기준 대역폭이 높은 더 큰 인스턴스 유형을 사용하십시오.

CPUUtilization CloudWatch 지표를 사용하여 인스턴스 CPU 사용률을 모니터링할 수 있습니다. 또한 인스턴스에 로그인하여 메모리 사용률을 확인하십시오. CPU 또는 메모리 사용률이 높으면 클러스터에 더 많은 인스턴스를 추가하여 여러 인스턴스에 작업을 분산합니다. 또는 인스턴스를 더 큰 인스턴스 유형으로 변경합니다.

애플리케이션 로그를 확인하여 다운스트림 서비스의 응답 지연 시간이 긴지 확인합니다. 지연 시간 문제를 해결하려면 AWS X-Ray를 활성화하는 것이 가장 좋습니다.

응답 지연 시간 측정

Amazon ECS 서비스가 Application Load Balancer 뒤에 있는 경우 TargetResponseTime CloudWatch 지표를 사용하여 응답 시간을 측정하십시오. 이 지표는 Application Load Balancer를 통해 라우팅되는 요청에 대한 평균 응답 시간을 제공합니다. 값이 높으면 백엔드 애플리케이션 또는 인프라가 지연될 수 있습니다.

컨테이너에서 직접 응답 지연 시간을 측정하려면 애플리케이션 컨테이너에 로그인합니다. Amazon EC2 시작 유형 작업의 경우 Docker exec -it container id 명령을 실행하여 컨테이너에 로그인합니다. Fargate 시작 유형을 사용하는 작업의 경우 ECS exec를 사용하여 컨테이너에 로그인합니다.

그 후 다음 명령을 실행하여 응답 지연 시간을 측정합니다.

curl -kso /dev/null -w "\n===============\n
| Connect: %{time_connect}\n
| App connect: %{time_appconnect}\n
| Pre-transfer: %{time_pretransfer}\n
| Time to First Byte (TTFB): %{time_starttransfer}\n
| Total: %{time_total}\n
| HTTP Code: %{http_code}\n===============\n" http://localhost:port/endpoint

참고: port를 컨테이너 포트로, endpoint를 해당 엔드포인트로 바꾸십시오.

위 명령의 출력에서 첫 번째 바이트까지의 시간(TTFB) 필드는 첫 바이트가 도착하는 데 걸리는 시간을 보여줍니다. 출력에는 서버 처리 시간도 포함됩니다. 처리 시간이 길면 애플리케이션에서 요청을 처리하는 데 더 오랜 시간이 걸리는 것입니다.

관련 정보

AWS Fargate에서 Amazon ECS 작업의 높은 CPU 사용률 문제를 해결하려면 어떻게 해야 합니까?

Fargate에서 Amazon ECS 작업의 높은 메모리 사용률을 모니터링하려면 어떻게 해야 합니까?

EC2 인스턴스의 총 네트워크 사용량을 계산하고 특정 날짜 범위 내에서 대역폭을 가장 많이 사용한 인스턴스를 확인하려면 어떻게 해야 합니까?

AWS 공식업데이트됨 일 년 전
댓글 없음