아마존 EBS 볼륨 퍼포먼스 - 아마존 EBS

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

아마존 EBS 볼륨 퍼포먼스

I/O 특성, 인스턴스 및 볼륨 구성을 비롯한 여러 요인이 Amazon의 성능에 영향을 미칠 수 EBS 있습니다. 아마존 EBS 및 아마존 EC2 상품 상세 페이지의 지침을 따르면 일반적으로 퍼포먼스가 양호합니다. 다만 피크 성능을 달성하려면 조금 조정해야 하는 경우도 있습니다. 벤치마킹 외에도 실제 워크로드의 정보에 따라 성능을 튜닝하여 최적의 구성을 결정하는 것이 좋습니다. EBS볼륨 작업의 기본 사항을 학습한 후에는 필요한 I/O 성능을 살펴보고 이러한 요구 사항을 충족하기 위해 Amazon EBS 성능을 높일 수 있는 옵션을 살펴보는 것이 좋습니다.

AWS EBS볼륨 유형의 성능 업데이트가 기존 볼륨에 즉시 적용되지 않을 수 있습니다. 기존 볼륨의 전체 성능을 확인하려면 먼저 볼륨에 대해 ModifyVolume 작업을 수행해야 할 수 있습니다. 자세한 내용은 Amazon EBS 엘라스틱 볼륨을 사용하여 볼륨 수정 단원을 참조하십시오.

아마존 EBS 퍼포먼스 팁

이 팁은 다양한 사용자 시나리오에서 EBS 볼륨의 성능을 최적화하기 위한 모범 사례를 나타냅니다.

EBS최적화된 인스턴스 사용

EBS최적화된 처리량을 지원하지 않는 인스턴스에서는 네트워크 트래픽이 인스턴스와 EBS 볼륨 사이의 트래픽과 경합할 수 있습니다. EBS 최적화된 인스턴스에서는 두 가지 유형의 트래픽이 분리되어 보관됩니다. 일부 EBS 최적화된 인스턴스 구성 (예: C3, R3, M3) 은 추가 비용이 발생하는 반면, 다른 인스턴스 구성은 추가 비용 없이 항상 EBS 최적화됩니다 (예: M4, C4, C5, D2). 자세한 내용은 아마존 EBS 퍼포먼스 최적화 단원을 참조하십시오.

성능 계산 방법 이해

EBS볼륨의 성능을 측정할 때는 관련된 측정 단위와 성능 계산 방법을 이해하는 것이 중요합니다. 자세한 내용은 Amazon EBS I/O 특성 및 모니터링 단원을 참조하십시오.

워크로드 이해

EBS볼륨의 최대 성능, I/O 작업의 크기 및 수, 각 작업을 완료하는 데 걸리는 시간 사이에는 관계가 있습니다. 이러한 각 요소(성능, I/O 및 지연 시간)는 서로에게 영향을 미치며 애플리케이션마다 다른 요소에 더 민감합니다. 자세한 내용은 EBS 볼륨 벤치마크 섹션을 참조하세요.

스냅샷에서 볼륨을 초기화하는 경우 성능 저하에 유의

스냅샷에서 생성된 새 EBS 볼륨의 각 데이터 블록에 처음 액세스할 때 지연 시간이 크게 늘어납니다. 다음 옵션 중 하나를 사용하여 이 성능 저하를 방지할 수 있습니다.

  • 볼륨을 프로덕션에 투입하기 전에 각 블록에 액세스합니다. 이 프로세스를 초기화(이전에는 사전 워밍이라고 함)라고 합니다. 자세한 내용은 아마존 EBS 볼륨 초기화 단원을 참조하십시오.

  • 스냅샷에서 빠른 스냅샷 복원을 활성화하면 스냅샷에서 생성된 EBS 볼륨이 생성 시 완전히 초기화되고 프로비저닝된 모든 성능을 즉시 제공할 수 있습니다. 자세한 내용은 Amazon EBS 빠른 스냅샷 복원 단원을 참조하십시오.

성능을 저하시킬 수 있는 요인 HDD

처리량 최적화 HDD (st1) 또는 콜드 HDD (sc1) 볼륨의 스냅샷을 만들면 스냅샷이 진행되는 동안 성능이 볼륨의 기준 값까지 떨어질 수 있습니다. 이 동작은 이러한 볼륨 유형에만 해당합니다. 성능을 제한할 수 있는 다른 요소로는 인스턴스가 지원할 수 있는 수준 이상의 처리량을 구동하는 경우, 스냅샷에서 생성된 볼륨을 초기화하는 동안의 성능 저하, 볼륨에 소량의 랜덤 I/O가 과도하게 많은 경우 등을 들 수 있습니다. HDD볼륨 처리량 계산에 대한 자세한 내용은 을 참조하십시오아마존 EBS 볼륨 유형.

애플리케이션이 충분한 I/O 요청을 보내지 않는 경우에도 성능이 영향을 받을 수 있습니다. 볼륨의 대기열 길이와 I/O 크기를 보면 확인할 수 있습니다. 대기열 길이는 애플리케이션에서 볼륨으로 보내는 I/O 요청 중 대기 중인 요청의 수입니다. 일관성을 극대화하기 위해 HDD -backed 볼륨은 1MiB 순차 I/O를 수행할 때 대기열 길이 (가장 가까운 정수로 반올림) 를 4 이상으로 유지해야 합니다. 볼륨의 일관된 성능을 보장하는 방법에 대한 자세한 내용은 을 참조하십시오. Amazon EBS I/O 특성 및 모니터링

st1sc1에서 처리량이 많은 읽기 중심 워크로드의 미리 읽기 향상(Linux 인스턴스에만 해당)

일부 워크로드는 읽기 중심이며 운영 체제 페이지 캐시를 통해(예: 파일 시스템에서) 블록 디바이스에 액세스합니다. 이 경우 최대 처리량을 획득하려면 미리 읽기 설정을 1MiB로 구성하는 것이 좋습니다. 이 per-block-device 설정은 볼륨에만 적용해야 합니다. HDD

블록 디바이스의 현재 미리읽기 값을 검사하려면 다음 명령을 사용합니다.

$ sudo blockdev --report /dev/<device>

블록 디바이스 정보는 다음 형식으로 반환됩니다.

RO RA SSZ BSZ StartSec Size Device rw 256 512 4096 4096 8587820544 /dev/<device>

보기의 디바이스는 256바이트(기본값)의 미리 읽기 값을 보고합니다. 이 값에 섹터 크기(512바이트)를 곱하면 미리읽기 버퍼의 크기를 구할 수 있습니다(이 경우에는 128KiB). 버퍼 값을 1MiB로 설정하려면 다음 명령을 사용합니다.

$ sudo blockdev --setra 2048 /dev/<device>

첫 번째 명령을 다시 실행해서 현재 미리읽기 설정에 2,048이 표시되는지 확인합니다.

워크로드가 대용량 순차 I/O로 구성된 경우에만 이 설정을 사용합니다. 대부분이 소량 랜덤 I/O로 구성된 경우 이 설정은 실제로 성능을 저하시킵니다. 일반적으로 워크로드가 대부분 작거나 무작위 I/O로 구성된 경우 OR 볼륨 대신 범용 SSD (gp2gp3) 볼륨을 사용하는 것을 고려해야 합니다. st1 sc1

최신 Linux 커널 사용(Linux 인스턴스에만 해당)

간접 서술자를 지원하는 최신 Linux 커널을 사용합니다. 모든 Linux 커널 3.8 이상은 물론 현재 EC2 세대 인스턴스도 모두 이 지원을 제공합니다. 평균 I/O 크기가 44KiB 정도인 경우에는 간접 서술자가 지원되지 않는 인스턴스 또는 커널을 사용 중일 수 있습니다. Amazon CloudWatch 지표에서 평균 I/O 크기를 도출하는 방법에 대한 자세한 내용은 을 참조하십시오. Amazon EBS I/O 특성 및 모니터링

st1 또는 sc1 볼륨의 처리량을 극대화하려면 xen_blkfront.max 파라미터(Linux 커널 버전 4.6 미만) 또는 xen_blkfront.max_indirect_segments 파라미터(Linux 커널 버전 4.6 이상)에 값 256을 적용하는 것이 좋습니다. 해당 파라미터는 OS 부팅 명령줄에서 설정할 수 있습니다.

예를 들어, 이전 커널을 AMI 사용하는 Amazon Linux의 경우 다음 GRUB 구성의 커널 라인 끝에 커널을 추가할 수 있습니다/boot/grub/menu.lst.

kernel /boot/vmlinuz-4.4.5-15.26.amzn1.x86_64 root=LABEL=/ console=ttyS0 xen_blkfront.max=256

이후 커널의 경우 명령은 다음과 같을 것입니다.

kernel /boot/vmlinuz-4.9.20-11.31.amzn1.x86_64 root=LABEL=/ console=tty1 console=ttyS0 xen_blkfront.max_indirect_segments=256

이 설정을 적용하려면 인스턴스를 재부팅합니다.

자세한 내용은 AMIs반가상화를 GRUB 위한 구성을 참조하십시오. 다른 Linux 배포판, 특히 GRUB 부트로더를 사용하지 않는 배포판에서는 커널 매개 변수를 조정할 때 다른 접근 방식이 필요할 수 있습니다.

EBSI/O 특성에 대한 자세한 내용은 이 주제에 대한 AmazonEBS: 성능 re:Invent 프레젠테이션을 참조하십시오.

RAID0을 사용하면 인스턴스 리소스의 활용도를 극대화할 수 있습니다.

일부 인스턴스 유형은 단일 EBS 볼륨에 프로비저닝할 수 있는 것보다 더 많은 I/O 처리량을 제공할 수 있습니다. 여러 볼륨을 RAID 0 구성으로 결합하여 이러한 인스턴스에 사용 가능한 대역폭을 사용할 수 있습니다. 자세한 내용은 Amazon EBS 및 RAID 구성 단원을 참조하십시오.

Amazon을 사용하여 성과를 추적하세요 CloudWatch

Amazon Web Services는 EBS Amazon에서 분석하고 확인할 수 있는 Amazon 성능 CloudWatch 지표와 볼륨 상태를 모니터링하는 데 사용할 수 있는 상태 확인을 제공합니다. 자세한 내용은 Amazon EBS 볼륨 모니터링 단원을 참조하십시오.