캐싱이 Azure의 디스크 성능에 미치는 영향

완료됨

로컬 컴퓨터와 마찬가지로 가상 머신의 성능도 VM이 데이터를 빠르게 읽고 쓸 수 있는 속도와 직접 관련되는 경우가 종종 있습니다. 이러한 성능을 개선하는 방법을 이해하려면 먼저 성능을 측정하는 방법을 이해해야 합니다. 또한 해당 측정값에 영향을 주는 설정 및 선택 사항도 이해해야 합니다.

특히 VM에 사용되는 기본 디스크 및 스토리지에 대해 알아보겠습니다. 성능을 확인할 때는 애플리케이션 계층도 고려해야 합니다. 예를 들어 VM에서 데이터베이스를 실행하는 경우 데이터베이스와 관련된 성능 설정을 확인하여 데이터베이스가 실행 중인 VM 및 스토리지에 최적화되었는지 확인하려고 합니다.

몇 가지 용어를 정의하는 것으로 시작하여 Azure에서 이를 보장하는지 확인해 보겠습니다.

초당 I/O 작업

선택한 스토리지 유형(표준 또는 프리미엄)은 디스크의 속도를 결정합니다. 이 성능은 초당 I/O 작업 또는 IOPS(“eye-ops”로 발음) 단위로 측정합니다.

IOPS는 디스크가 1초 안에 처리할 수 있는 요청 수입니다. 단일 요청은 하나의 읽기 또는 쓰기 작업입니다. 이 측정은 스토리지에 직접 적용됩니다. 예를 들어 5,000 IOPS를 수행할 수 있는 디스크가 있는 경우 이론적으로 초당 5,000개의 읽기 및 쓰기 작업을 처리할 수 있음을 의미합니다.

참고 항목

대기 시간을 비롯한 외부 요인은 IOPS에 영향을 줄 수 있습니다.

IOPS는 애플리케이션 성능에 직접적인 영향을 줍니다. 소매 웹 사이트와 같은 일부 애플리케이션에서 사이트의 응답성을 유지하기 위해 신속하게 처리되어야 하는 임의의 작은 I/O 요청을 모두 처리하려면 IOPS가 높아야 합니다.

Azure의 IOPS

높은 확장성의 VM에 프리미엄 스토리지 디스크를 연결하는 경우 Azure는 디스크 사양에 따라 보장된 IOPS 수를 프로비저닝합니다. 예를 들어 P50 디스크는 7500 IOPS를 프로비전합니다. 각 높은 확장성의 VM 크기에는 유지할 수 있는 특정 IOPS 제한이 있습니다. 예를 들어 표준 GS5 VM에는 80,000 IOPS 제한이 있습니다.

IOPS는 디스크의 성능 측정입니다. 그러나 이론적 한계입니다. 실제 애플리케이션 성능에는 다른 두 가지 요인 처리량대기 시간이 영향을 줄 수 있습니다.

처리량이란?

처리량은 애플리케이션이 지정된 간격(일반적으로 1초)으로 스토리지 디스크에 보내는 데이터의 양입니다. 애플리케이션이 큰 데이터 블록을 포함한 I/O를 수행하는 경우에는 높은 처리량이 필요합니다.

Azure는 해당 디스크의 사양에 따라 프리미엄 스토리지 디스크의 처리량을 프로비저닝합니다. 예를 들어 P50 디스크는 초당 250MB 디스크 처리량을 프로비전합니다. 높은 확장성의 VM 크기마다 유지할 수 있는 특정 처리량 제한이 있습니다. 예를 들어 표준 GS5 VM의 최대 처리량은 초당 2,000MB입니다.

IOPS 및 처리량

처리량과 IOPS는 직접적인 관계를 가지며, 하나를 변경하면 다른 쪽에 직접적인 영향을 줍니다. 처리량의 이론적 제한을 알아보려면 IOPS x I/O size = throughput 수식을 사용하세요. 애플리케이션을 계획할 때 이러한 값을 모두 고려해야 합니다.

대기 시간이란?

데이터를 읽고 쓰는 데에는 시간이 걸립니다. 대기 시간은 앱이 디스크에 요청을 보내고 응답을 받는 데 걸리는 시간입니다. 본질적으로 대기 시간은 단일 읽기 또는 쓰기 I/O 요청을 처리하는 데 걸리는 시간을 알려줍니다.

대기 시간은 IOPS에 제한을 가합니다. 예를 들어 디스크에서 5000 IOPS를 처리할 수 있지만 각 작업을 처리하는 데 10ms가 걸리는 경우 처리 시간으로 인해 앱은 초당 500개의 작업으로 제한됩니다. 이 예제는 간단한 그림입니다. 대부분의 시간 대기 시간은 상당히 낮습니다. 궁극적으로 대기 시간 및 처리량은 앱이 스토리지에서 데이터를 처리할 수 있는 속도를 결정합니다.

프리미엄 스토리지는 대기 시간이 일관적으로 낮으며, 필요할 때는 캐싱을 통해 대기 시간을 더욱 개선할 수 있습니다.

디스크 성능 테스트

올바른 VM 크기 및 스토리지 유형을 선택하여 VM 디스크의 IOPS, 처리량 및 대기 시간을 조절하고 균형을 조정할 수 있습니다. 일반적으로 더 크거나 더 비싼 VM 크기는 최대 IOPS 및 처리량에 대해 더 높은 보장을 가집니다. 해당 수식에 표준 대 프리미엄 스토리지 및 HDD 대 SSD 선택 사항을 추가하고 여러 가지 매개 변수를 대입해 볼 수 있습니다.

올바른 조합의 선택에는 애플리케이션 요구 사항에 대한 이해가 필요합니다. 데이터베이스 서버 또는 온라인 트랜잭션 처리 시스템과 같은 높은 I/O 애플리케이션에는 더 높은 IOPS가 필요한 반면, 더 많은 계산 기반 애플리케이션은 낮은 요구 사항에 따라 얻을 수 있습니다. 또한 애플리케이션이 수행하는 작업 유형 은 처리량에 영향을 줍니다. 높은 임의 액세스 I/O는 긴 순차적 읽기보다 속도가 느린 경향이 있습니다.

구성을 선택하면 Iometer와 같은 도구를 사용하여 Linux 및 Windows VM에서 디스크 성능을 테스트할 수 있습니다. 이 테스트는 어떤 종류의 성능을 기대해야 하는지에 대한 보다 실제적인 감각을 제공합니다. 또한 스토리지 앱의 사용을 개선하는 방법을 찾는 데 도움이 될 수 있습니다. 예를 들어 단일 스레드 입출력을 수행하는 애플리케이션은 대기 시간으로 인해 I/O 성능이 저하될 수 있습니다.

다음 단원에서는 디스크 성능을 개선하기 위해 수행할 수 있는 몇 가지 다른 작업을 살펴봅니다.