쿨 액세스를 통한 Azure NetApp Files 스토리지에 대한 성능 고려 사항
데이터 세트가 항상 적극적으로 사용되는 것은 아닙니다. 한 집합의 데이터 중 최대 80%는 "쿨"한 것으로 간주될 수 있습니다. 즉, 현재 사용되지 않거나 최근에 액세스하지 않은 것입니다. Azure NetApp Files와 같은 고성능 스토리지에 데이터를 저장하는 경우, 쿨 데이터는 다시 액세스되기 전까지는 고성능 스토리지가 필요하지 않으므로, 사용 중인 용량에 사용된 비용은 본질적으로 낭비됩니다.
쿨 액세스를 갖춘 Azure NetApp Files 스토리지는 Azure의 클라우드 스토리지 비용을 줄이기 위한 것입니다. 고려해야 하는 특정 사용 사례에서 성능 고려 사항이 있습니다.
쿨 계층으로 이동된 데이터에 액세스하면 대기 시간이 늘어나는데, 특히 임의 I/O의 경우 더욱 그렇습니다. 최악의 경우, 액세스되는 모든 데이터가 쿨 계층에 있을 수 있으므로 모든 요청에서 데이터 검색을 수행해야 합니다. 적극적으로 사용되는 데이터 세트의 모든 데이터가 쿨 계층에 있는 경우는 흔하지 않으므로 이러한 대기 시간이 발생할 가능성은 낮습니다.
기본 쿨 액세스 검색 정책을 선택하면 순차적 I/O 읽기는 쿨 계층에서 직접 제공되고 핫 계층에 다시 채워지지 않습니다. 임의로 읽은 데이터는 핫 계층에 다시 채워져 후속 읽기 작업의 성능이 향상됩니다. 순차적 워크로드를 최적화하면 임의 읽기에 비해 클라우드 검색으로 인해 발생하는 대기 시간이 줄어들고 전반적인 성능이 개선되는 경우가 많습니다.
최근 Azure NetApp Files에 대한 쿨 액세스를 갖춘 표준 스토리지를 사용하여 수행한 테스트에서 다음과 같은 결과를 가져왔습니다.
참고 항목
게시된 모든 결과는 참조용으로만 사용됩니다. 프로덕션 워크로드의 성능은 다양한 요인으로 인해 달라질 수 있으므로 결과가 보장되지 않습니다.
핫/쿨 계층에서 100% 순차 읽기(단일 작업)
다음 시나리오에서는 Ultra 성능 계층을 사용하여 50TiB Azure NetApp Files 볼륨에서 하나의 D32_V5 VM(가상 머신)에서 단일 작업이 사용되었습니다. 다양한 블록 크기를 사용하여 핫 계층과 쿨 계층의 성능을 테스트했습니다.
참고 항목
Ultra 서비스 수준의 최댓값은 할당된 용량 1테비바이트당 128MiB/s입니다. Azure NetApp Files 일반 볼륨은 최대 약 5,000MiB/s의 처리량을 관리할 수 있습니다.
다음 그래프는 다양한 큐 깊이를 사용하여 이 테스트에 대한 쿨 계층 성능을 보여 줍니다. 단일 VM의 최대 처리량은 약 400MiB/s입니다.
핫 계층 성능은 약 2.75배 향상되었으며 약 1,180MiB/s로 제한되었습니다.
이 그래프는 256K 블록 크기에서 쿨 계층과 핫 계층의 성능을 병렬 비교한 것입니다.
핫 계층 및 쿨 계층에서 대기 시간이 발생하는 원인은 무엇인가요?
핫 계층의 대기 시간은 스토리지 시스템 자체의 요인으로, 특정 시점에 처리할 수 있는 것보다 많은 I/O가 서비스에 전송되면 시스템 리소스가 모두 사용됩니다. 따라서 이전에 보낸 작업이 완료될 때까지 작업을 큐에 넣어야 합니다.
쿨 계층의 대기 시간은 일반적으로 클라우드 검색 작업, 즉 개체 저장소에 대한 네트워크를 통한 I/O 요청(순차적 워크로드)이나 핫 계층으로의 쿨 블록 리하이드레이션(임의 워크로드)에서 발생합니다.
결과 요약
- 워크로드가 100% 순차적일 경우, 쿨 계층의 처리량은 핫 계층에 비해 약 47% 감소합니다(3330MiB/s, 1742MiB/s).
- 워크로드가 100% 임의일 경우 쿨 계층의 처리량은 핫 계층에 비해 약 88% 감소합니다(2,479MiB/s, 280MiB/s).
- 100% 순차(3,330MiB/s) 및 100% 임의(2,479MiB/s) 워크로드를 수행할 때 핫 계층의 성능 저하는 약 25%였습니다. 100% 순차(1,742MiB/s) 및 100% 임의(280MiB/s) 워크로드를 수행할 때 쿨 계층의 성능 저하는 약 88%였습니다.
- 워크로드에 임의의 비율로 임의 I/O가 포함되어 있는 경우 쿨 계층의 전체 처리량은 100% 순차적인 처리량보다는 100% 임의적인 처리량에 더 가깝습니다.
- 100% 순차에서 80/20 순차/임의 혼합으로 변경했을 때 쿨 계층의 읽기 속도가 약 50% 감소했습니다.
- 순차적 I/O는 임의 I/O가 활용하지 못하는 Azure NetApp Files의
readahead
캐시를 활용할 수 있습니다. 순차적 I/O에 대한 이러한 이점은 핫 계층과 쿨 계층 간의 전반적인 성능 차이를 줄이는 데 도움이 됩니다.
고려 사항 및 권장 지침
- 워크로드가 예측할 수 없는 방식으로 자주 액세스 패턴을 변경하는 경우, 핫 계층과 쿨 계층 간의 성능 차이로 인해 쿨 액세스가 이상적이지 않을 수 있습니다.
- 워크로드에 임의 I/O가 일정 비율로 포함되어 있는 경우 쿨 계층의 데이터에 액세스할 때의 성능 기대치를 이에 맞게 조정해야 합니다.
- 워크로드 패턴에 맞게 쿨니스 창과 쿨 액세스 검색 설정을 구성하고 쿨 계층 검색 양을 최소화합니다.
- 쿨 액세스의 성능은 애플리케이션이 실행되는 데이터 세트 및 시스템 부하에 따라 달라질 수 있습니다. 쿨 액세스의 성능 차이를 이해하고 고려하려면 데이터 세트로 관련 테스트를 수행하는 것이 좋습니다.