내용으로 건너뛰기

EBS 볼륨에서 마이크로 버스팅이 발생하고 있는지 확인하고 성능에 영향을 미치지 않도록 하려면 어떻게 해야 합니까?

3분 분량
0

Amazon Elastic Block Store(Amazon EBS) 볼륨이 Amazon CloudWatch의 평균 처리량 또는 평균 초당 I/O 작업량(IOPS) 할당량에 도달하지 않았습니다. 그러나 볼륨이 제한되고 지연 시간과 대기열의 길이가 길어졌습니다.

해결 방법

기본적으로 CloudWatch 지표는 1분 간격으로 샘플을 수집합니다. 하지만 I/O 작업은 밀리초 속도로 수행됩니다. 수집 간격보다 짧은 시간 동안 볼륨에서 IOPS 또는 처리량이 급증하면 CloudWatch는 이러한 버스트를 캡처하지 못합니다. 1분 이내에 볼륨의 성능 버스트가 발생하는지 확인하려면 다음 작업을 수행하십시오.

CloudWatch 지표를 사용하여 발생 가능한 마이크로 버스트 확인

VolumeIOPSExceededCheck 및 VolumeThroughputExceededCheck 확인

VolumeIOPSExceededCheck 및 VolumeThroughputExceededCheck 지표는 IOPS 또는 처리량이 볼륨의 프로비저닝된 성능을 초과할 때 표시됩니다. 이 지표는 1분 이내의 IOPS와 처리량을 보여주며 통합된 신호를 1분 단위로 표시합니다. 이러한 지표의 값이 1인 경우 워크로드에서 마이크로 버스팅이 발생한 것입니다.

VolumeIdleTime 지표 확인

VolumeIdleTime 지표 그래프는 지정된 기간 동안 읽기 또는 쓰기 작업을 제출하지 않은 시간(초)을 보여줍니다. VolumeIdleTime이 높으면 볼륨이 대부분의 기간 동안 유휴 상태로 유지된 것입니다. 동일한 기간 동안 IOPS 또는 처리량이 충분히 높았다면 볼륨에서 마이크로 버스팅이 발생한 것입니다.

EBS 볼륨이 수신한 평균 처리량과 평균 IOPS 계산

다음 공식을 사용하여 EBS 볼륨의 평균 처리량을 계산합니다.

예상 평균 처리량 = Sum(VolumeReadBytes) + Sum(VolumeWriteBytes) ) / CEIL(Period - Sum(VolumeIdleTime))

다음 공식을 사용하여 EBS 볼륨의 평균 IOPS를 계산합니다.

예상 평균 IOPS = ( Sum(VolumeReadOps) + Sum(VolumeWriteOps) ) / CEIL(Period - Sum(VolumeIdleTime))

CEIL 함수를 사용하면 계산에서 극단적인 경우가 발생하지 않도록 할 수 있습니다. 위 공식은 VolumeIdleTime이 기간과 매우 가까운 시나리오를 위한 것입니다. 보다 정확한 계산을 위해 CEIL은 0에 가까운 값이 결과를 변경하지 않도록 합니다. 자세한 내용은 지표 수학에 지원되는 함수를 참조하십시오.

평균 처리량 또는 IOPS가 볼륨의 최대 처리량 또는 IOPS보다 크면 워크로드에서 마이크로 버스팅이 발생한 것입니다.

Amazon EBS 세부 성능 통계를 사용하여 발생 가능한 마이크로 버스팅 확인

실시간 가시성을 위해 볼륨에 대한 자세한 성능 통계를 가져오십시오. 이 통계는 워크로드가 볼륨의 프로비저닝된 성능 할당량보다 높은 IOPS 또는 처리량을 유도하기 위해 시도한 마이크로초 수를 보여줍니다. Amazon EBS는 볼륨이 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 연결되어 있는 동안에만 이러한 통계를 유지합니다. 이를 사용하여 마이크로 버스팅의 근본 원인을 확인하려면 Amazon EBS가 이미 데이터를 캡처한 상태여야 합니다.

통계에 액세스하려면 통계 액세스를 참조하십시오.

OS 수준 도구를 사용하여 발생 가능한 마이크로 버스팅 확인

EBS 볼륨은 VolumeIdleTime이 낮을 때도 마이크로 버스팅이 발생할 수 있습니다. VolumeIdleTime이 낮은 볼륨의 경우 세분화된 샘플 수집이 포함된 운영 체제(OS) 수준 도구를 사용하여 워크로드에서 마이크로 버스팅이 발생하고 있는지 여부를 보다 효율적으로 확인할 수 있습니다.

Linux

마운트된 모든 볼륨에 대한 I/O 통계를 1초 단위로 보고하려면 iostat 명령을 실행합니다.

iostat -xdmzt 1

iostat 도구는 sysstat 패키지의 일부입니다. iostat 명령을 찾을 수 없는 경우 다음 명령을 실행하여 Amazon Linux Amazon Machine Image(AMI)에 sysstat를 설치하십시오.

sudo yum install sysstat -y

자세한 내용을 알아보려면 Linux 매뉴얼 웹 사이트의 iostat를 참조하십시오.

처리량 할당량에 도달했는지 확인하려면 출력의 rMBpswMBps를 검토합니다. rMBps + wMBps가 볼륨의 최대 처리량보다 크면 볼륨에 마이크로 버스팅이 발생합니다.

IOPS 할당량에 도달했는지 확인하려면 출력의 rpswps를 검토합니다. rps + wps가 볼륨의 최대 IOPS보다 크면 볼륨에 마이크로 버스팅이 발생합니다.

Windows

Windows 성능 모니터에서 perfmon 명령을 실행합니다.

애플리케이션에 맞게 볼륨 크기 또는 유형을 변경하여 마이크로 버스팅 방지

마이크로 버스팅은 애플리케이션의 I/O 스로틀링 또는 I/O 지연을 유발할 수 있습니다. 이 문제를 방지하려면 마이크로 버스팅 수준에서도 필요한 IOPS 및 처리량을 수용할 수 있는 유형과 크기로 볼륨을 수정하십시오.

인스턴스가 연결된 모든 EBS 볼륨에 푸시할 수 있는 최대 IOPS와 처리량이 있습니다. 자세한 내용은 Amazon EBS 최적화 인스턴스 유형을 참조하십시오.

워크로드를 기준으로 볼륨을 벤치마킹하여 테스트 환경에서 워크로드를 안전하게 수용할 수 있는 볼륨 유형을 결정하는 것이 좋습니다.

AWS 공식업데이트됨 4달 전