Amazon EC2 인스턴스 스토어 볼륨의 상세 성능 통계

Amazon EC2 인스턴스 스토어 볼륨의 상세 성능 통계

Amazon EC2는 Nitro 기반 Amazon EC2 인스턴스에 연결된 NVMe 인스턴스 스토어 볼륨에 대한 실시간 고해상도 성능 통계를 제공해요. 이 통계는 인스턴스 수명 동안 유지되는 집계 카운터(aggregated counters)로 표시돼요. 통계는 완료된 작업(operation)의 누적 개수, 전송된 바이트(수신·송신), 읽기·쓰기 I/O 작업에 소요된 시간, 읽기·쓰기 I/O 작업에 대한 히스토그램에 대한 세부 정보를 제공해요. 이 통계는 Amazon EBS 상세 성능 통계와 일관성을 유지하면서도, I/O 크기별로 세분화된 상세 지연 히스토그램을 포함해 스토리지 성능 패턴에 대한 더 세밀한 통찰을 제공해요. 이 향상된 가시성 덕분에 정확히 어떤 I/O 크기에서 지연 문제가 발생하는지 식별할 수 있어, 애플리케이션 성능을 최적화하고 문제를 더 효과적으로 해결할 수 있어요.

출처: 문서

본문

이 통계는 최대 1초 간격의 세분성으로 수집할 수 있어요. 1초 간격보다 더 자주 요청하면 NVMe 드라이버가 다른 관리 명령과 함께 요청을 큐에 넣어 나중에 처리할 수 있어요.

고려 사항

  • 이 통계는 Nitro 기반 인스턴스에 연결된 NVMe 인스턴스 스토어 볼륨에서만 지원돼요.
  • 카운터는 인스턴스 중지·재시작 후에도 유지되지 않아요.
  • 이 통계는 추가 비용 없이 사용할 수 있어요.

통계 (Statistics)

NVMe 블록 디바이스는 다음 통계를 제공해요.

통계 이름 전체 이름 유형 설명
total_read_ops Total read operations Counter 완료된 읽기 작업의 총 개수.
total_write_ops Total write operations Counter 완료된 쓰기 작업의 총 개수.
total_read_bytes Total read bytes Counter 전송된 읽기 바이트의 총 개수.
total_write_bytes Total write bytes Counter 전송된 쓰기 바이트의 총 개수.
total_read_time Total read time Counter 완료된 모든 읽기 작업에 소요된 총 시간(마이크로초).
total_write_time Total write time Counter 완료된 모든 쓰기 작업에 소요된 총 시간(마이크로초).
instance_store_volume_performance_exceeded_iops Total time demand exceeded volume's maximum IOPS Counter IOPS 요청이 볼륨의 최대 IOPS를 초과한 총 시간(마이크로초). 0보다 큰 값은 워크로드가 볼륨이 제공할 수 있는 것보다 더 많은 IOPS를 요구했음을 나타내요. 이상적으로 두 스냅샷 시점 사이의 이 지표 증분 개수는 최소여야 해요.
instance_store_volume_performance_exceeded_tp Total time demand exceeded volume's maximum throughput Counter 처리량 요청이 볼륨의 최대 처리량을 초과한 총 시간(마이크로초). 0보다 큰 값은 워크로드가 볼륨이 제공할 수 있는 것보다 더 많은 처리량을 요구했음을 나타내요. 이상적으로 두 스냅샷 시점 사이의 이 지표 증분 개수는 최소여야 해요.
volume_queue_length Volume queue length Point in time 완료되기를 기다리는 읽기·쓰기 작업의 수.
read_io_latency_histogram Read I/O histogram Histogram * 각 지연 구간(latency bin) 안에서 완료된 읽기 작업 수(마이크로초).
write_io_latency_histogram Write I/O histogram Histogram * 각 지연 구간 안에서 완료된 쓰기 작업 수(마이크로초).

참고 — * 히스토그램 통계는 성공적으로 완료된 I/O 작업만 나타내요. 정지·손상된 I/O 작업은 포함되지 않지만, 시점(point-in-time) 통계로 표시되는 volume_queue_length 통계에 나타나요.

통계에 접근하기

통계는 인스턴스 스토어 볼륨이 연결된 인스턴스에서 직접 접근해야 해요. 다음 방법 중 하나로 통계에 접근할 수 있어요.

Amazon CloudWatch

Amazon CloudWatch 에이전트를 구성해 인스턴스에서 통계를 수집하고 CloudWatch의 사용자 지정 지표로 제공할 수 있어요. 그런 다음 CloudWatch의 지표를 사용해 I/O 패턴을 분석하고, 성능 추세를 추적하고, 사용자 지정 대시보드를 만들고, 성능 임계값을 기준으로 자동 알람을 설정할 수 있어요.

CloudWatch 에이전트 구성에 대한 자세한 내용은 Amazon EC2 인스턴스 스토어 볼륨 지표 수집 문서를 참고하세요.

nvme-cli 도구

통계에 접근하기

  1. 볼륨이 연결된 인스턴스에 연결합니다.
  2. 2025년 9월 15일 이후 릴리스된 Amazon Linux 2023 AMI에는 최신 버전의 nvme-cli 도구가 포함되어 있어요. 더 오래된 Amazon Linux AMI를 사용한다면 nvme-cli 도구를 업데이트하세요.
sudo yum install nvme-cli
  1. 다음 명령을 실행하고 볼륨의 디바이스 이름을 지정합니다.
sudo nvme amzn stats /dev/nvme0n1

통계는 I/O 크기별로 세분화된 상세 지연 히스토그램도 제공해요. I/O 크기별로 세분화된 통계를 보려면 --details 옵션을 포함하세요. 예:

sudo nvme amzn stats --details /dev/nvme0n1

--help 옵션을 지정하면 도구 사용 방법에 대한 자세한 정보를 얻을 수 있어요. 예:

sudo nvme amzn stats --help

nvme_amzn.exe 도구

통계에 접근하기

  1. 볼륨이 연결된 인스턴스에 연결합니다.
  2. AWSNVMe 드라이버 버전 1.7.0 이상을 사용하고 있는지 확인합니다. AWSNVMe 드라이버 업데이트에 대한 자세한 내용은 AWS NVMe drivers 문서를 참고하세요.
  3. 볼륨의 디스크 번호를 확인합니다. 자세한 내용은 Amazon EC2 Windows 인스턴스에서 NVMe 디스크를 볼륨으로 매핑하기 문서를 참고하세요.
  4. 관리자로 다음 명령을 실행하고 볼륨의 디스크 번호를 지정합니다.
.\nvme_amzn.exe stats disk_number

통계는 I/O 크기별로 세분화된 상세 지연 히스토그램도 제공해요. I/O 크기별로 세분화된 통계를 보려면 --details 옵션을 포함하세요. 예:

.\nvme_amzn.exe stats --details disk_number

더 알아보기

  • 인스턴스 스토어 볼륨 초기화하기
  • 루트 볼륨