내용으로 건너뛰기

Amazon EBS 볼륨에서 I/O 대기 시간이 길고 대기열 길이가 길며 지연 시간이 급증하는 이유는 무엇입니까?

3분 분량
0

Amazon Elastic Block Store(Amazon EBS) 볼륨의 I/O 대기 시간이 길고 대기열 길이가 길며 지연 시간이 급증했습니다.

해결 방법

I/O 작업 완료에 지연이 있는 경우 Amazon EBS 볼륨의 대기열 길이가 늘어나고 I/O 대기 시간이 길어집니다. 지연 시간이 증가하는 몇 가지 일반적인 이유는 다음과 같습니다.

볼륨이 처리량 또는 IOPS 할당량에 도달

처리량 및 IOPS 할당량에 도달하면 지연이 발생할 수 있습니다. 처리량 및 IOPS 할당량을 결정하려면 Amazon EBS 볼륨의 최대 IOPS 및 처리량을 계산하려면 어떻게 해야 합니까?를 참조하십시오. 그런 다음 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 EBS 볼륨이 처리량 또는 IOPS 할당량에 도달하는지 확인하십시오.

처리량 또는 IOPS 할당량에 자주 도달하는 경우 볼륨 유형 또는 크기를 애플리케이션 요구 사항에 맞는 것으로 변경하십시오. 사용할 볼륨 유형을 결정하려면 테스트 환경에서 워크로드를 기준으로 EBS 볼륨을 벤치마킹하는 것이 가장 좋습니다.

인스턴스 처리량 또는 IOPS 할당량에 도달

EBS에 최적화된 EC2 인스턴스는 인스턴스에 연결된 모든 EBS 볼륨에서 최대 집계 처리량과 IOPS를 가지고 있습니다. I/O 대기 시간이 길어지고 지연 시간이 길어질 수 있지만 볼륨이 처리량 또는 IOPS 할당량에 도달하지 못합니다. 이 경우 볼륨의 처리량 또는 IOPS가 인스턴스의 처리량 또는 IOPS 할당량에 도달하는지 확인하십시오.

예를 들어 t3.medium 인스턴스에 연결된 1TiB의 gp3 볼륨과 16,000IOPS의 프로비저닝된 IOPS와 700MiBps 처리량이 있다고 가정해 보겠습니다. t3.medium 인스턴스는 연결된 모든 볼륨에서 집계된 260.57MiBps의 처리량과 11,800IOPS의 최대 성능을 달성할 수 있습니다. 인스턴스는 24시간 동안 단 30분 동안만 이 작업을 수행합니다. 그런 다음 성능은 연결된 전체 볼륨에서 집계된 기준 처리량 43.43MiBps 및 2,000IOPS로 제한됩니다. 하나의 볼륨이 최대 700MIBPS와 16,000 IOPS를 관리할 수 있지만 인스턴스에서는 이러한 성능을 달성할 수 없습니다.

애플리케이션 성능 요구 사항이 인스턴스의 기능을 초과할 경우 워크로드를 관리할 수 있는 인스턴스 유형으로 변경하십시오.

볼륨에서 마이크로 버스팅 발생

마이크로 버스팅은 볼륨이 수집 기간보다 훨씬 짧은 기간 동안 IOPS 또는 처리량을 버스트할 때 발생합니다. Amazon CloudWatch는 마이크로 버스팅을 표시하지 않습니다. 자세한 내용을 보려면 Amazon EBS 볼륨이 마이크로 버스팅 상태인지 식별하여 이러한 상황이 발생하지 않도록 하려면 어떻게 해야 합니까?를 참조하십시오.

스냅샷에서 볼륨을 복원했으며 볼륨이 초기화되고 있음

스냅샷에서 볼륨을 복원할 때는 볼륨이 데이터를 초기화해야 합니다. 각 데이터 블록에 처음 액세스할 때는 볼륨이 Amazon Simple Storage(Amazon S3) 에서 데이터를 다운로드해야 하므로 지연 시간이 길어질 수 있습니다.

지연 시간을 최소화하기 위해 볼륨을 강제로 초기화할 수 있습니다. Amazon EBS 고속 스냅샷 복원을 활성화하여 생성 시 볼륨이 완전히 초기화되도록 할 수도 있습니다.

볼륨의 기본 스토리지 하위 시스템에 문제가 있음

위의 문제 해결 단계를 모두 시도했는데도 지연 시간이 계속 길어지면 AWS Support에 문의하십시오.

관련 정보

CloudWatch 지표를 사용하여 EBS 볼륨이 제공하는 평균 처리량과 평균 IOPS 수를 계산하려면 어떻게 해야 합니까?

EBS 스냅샷에서 Amazon EBS 볼륨을 복원할 때의 I/O 지연 문제 해결

AWS 공식업데이트됨 2년 전