어떤 시점에서 EBS 사용에 병목 현상이 발생합니까?


10

EBS 볼륨이 지원하는 EC2 인스턴스를 사용하여 Amazon에서 호스팅되는 사이트가 있습니다. 주말에 트래픽이 급증하고 인스턴스를 크게 만들면 상당히 도움이됩니다. 더 이상 CPU 사용량이 100 %로 급상승하지 않고 서버가 응답하지 않게됩니다.

그러나 디스크 읽기도 매우 높다는 것을 알 수 있습니다 (도움이되지 않습니다, 나는 생각하지 않습니다). 나는 디스크가 유지할 수 없기 때문에 어떤 시점에서 어떤 종류의 오류가 발생하는지 궁금합니다. 쪽으로?

첨부 된 스크린 샷에서 볼 수 있듯이 주말에 분당 80MB로 최대치였습니다. 누구든지 AWS에 대한 경험이 있고 EBS가 병목 현상이 발생하여 다중로드 밸런스 인스턴스로 이동해야하는 시점을 알고 있습니까?

EBS 사용 그래프


2
여기에는 응용 프로그램 계층 세부 정보가 필요하다고 생각합니다. 디스크 읽기 활동은 무엇입니까? 이미지 / 자산에 대한 랜덤 액세스? 대량의 순차적 읽기 (예 : 데이터베이스 백업 또는 분석)? 소프트웨어 RAID-0을 사용하여 단일 인스턴스에 연결된 여러 EBS 볼륨을 실행하여 상황을 개선 할 수 있습니다.
rmalayter

이러한 읽기의 대부분은 더 작은 파일 (1MB 미만, 500k 미만의 많은 파일)이지만 "작은"파일은 아닙니다. 이것이 EBS 볼륨에 대한로드인지 또는이 트래픽 양이 부족한지 알 수 없으며이를 파악하는 방법을 모릅니다.
ESW

나는 당신의 의견을 읽을 때 RAID와 EBS를 갖춘 답장을 작성했습니다. RAID10은 읽기 및 쓰기를 향상시켜야하므로보다 유연한 솔루션 일 수 있다고 덧붙였습니다.
tsykoduk

@tsykoduk 일반적으로 모든 AWS 스토리지 유형은 다소 명백하지 않은 성능을 가지고 있으며 RAID10이 성능을 향상시킬 수있는 것처럼 보일지라도 실제 애플리케이션이 경험할 수있는 종류의 액세스 패턴 및로드로 벤치마킹을 시도하는 것이 좋습니다. . 그럼에도 불구하고 스토리지 환경에 대한 통제력이 뛰어나고 예측 가능성이 높은 자체 호스팅 솔루션에 비해 AWS 환경에서 성능이 때때로 크게 달라질 수 있습니다. 일반적으로 RAID 구성에 둘 이상의 볼륨이 있으면 긍정적 인 영향을 줄 수 있습니다.
aculich

답변:


5

I / O 성능에 가장 큰 영향을 줄 수있는 첫 번째 사항 은 사용중인 인스턴스 유형 입니다.

Instance Type   I/O Performance
-------------   ---------------
t1.micro        Low
m1.small        Moderate
m2.xlarge       Moderate
c1.medium       Moderate
m1.large        High
m1.xlarge       High
m2.2xlarge      High
m2.4xlarge      High
c1.xlarge       High
cc1.4xlarge     Very High (10 Gigabit Ethernet)
cc2.8xlarge     Very High (10 Gigabit Ethernet)
cg1.4xlarge     Very High (10 Gigabit Ethernet)

EBS 볼륨 및 얻을 수있는 성능에 대해서는 AWS FAQ에서 알 수 있듯이 애플리케이션을 벤치마킹하여 예상 대상을 확인해야합니다.

Q : Amazon EBS 볼륨에서 어떤 종류의 대기 시간과 처리 속도를 기대할 수 있습니까? Amazon EC2 인스턴스에서 Amazon EBS 볼륨까지의 지연 시간은 로컬 Amazon EC2 인스턴스 스토리지 드라이브에서 볼 수있는 지연 시간과 유사합니다. I / O 속도는 요청의 크기, 액세스 패턴의 임의성 및 응용 프로그램에서 사용하는 캐싱 전략에 따라 크게 달라질 수 있습니다. 따라서 가장 정확한 방법은 Amazon EBS 볼륨에서 특정 애플리케이션을 벤치마킹하는 것입니다.

이것이 의미하는 바는 EBS 속도가 로컬 인스턴스 스토리지보다 반드시 나쁘거나 나을 필요는 없다는 것입니다. 실제로 데이터 액세스 동작에 따라 다릅니다.

자세한 정보는 AWS EBS 페이지에 있습니다 .

Amazon EBS 볼륨 성능

Amazon EBS 볼륨은 데이터 세트에서 많은 랜덤 액세스를 수행하는 애플리케이션에 대해 Amazon EC2 인스턴스 스토어보다 높은 처리량을 제공하도록 설계되었습니다. 또한 여러 볼륨을 인스턴스에 연결하고 볼륨을 스트라이핑하여 처리량을 추가로 증가시킬 수 있습니다.

정확한 성능은 애플리케이션에 따라 달라 지므로 (예 : 랜덤 vs. 순차적 I / O 또는 큰 vs. 작은 요청 크기) 실제 측정을 볼륨과 비교하여 벤치마킹하는 것이 가장 좋습니다. Amazon EBS 볼륨에는 네트워크 액세스가 필요하므로 더 큰 인스턴스에서 더 빠르고 일관된 처리량 성능을 볼 수 있습니다.

또한 I / O 성능에는 디스크 IO뿐만 아니라 네트워크 트래픽도 포함되므로 인스턴스의 네트워크 트래픽이 많을수록 디스크 IO가 줄어 듭니다.

제공하는 내용에 따라 객체의 메모리 내 캐싱은 응용 프로그램 유형에 가능한 경우 상당히 도움이 될 수 있습니다.

또한 다양한 RAID 구성에서 EBS 및 로컬 (일시적) 볼륨의 성능을 벤치마킹하고 좋은 IO 성능을 얻기 위해 조정하는 블로그 게시물이 있습니다.

RAID의 EC2 임시 디스크 및 EBS 볼륨

Amazon EC2 I / O 성능 : 로컬 임시 디스크와 RAID 0 스트라이프 EBS 볼륨

아마존의 EBS에서 좋은 IO 얻기


2
이 사이트에도 좋은 정보가있는 것 같습니다 : ec2instances.info
Gianfranco P.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.