Azure Native Qumulo 이제 EU, 영국 및 캐나다에서 사용 가능 – 자세히 알아보기

Qumulo의 읽기 프리페치 시스템과 그 효과 살펴보기

작성자 :
Qumulo 고객은 어떻게 낮은 NFS 읽기 대기 시간과 낮은 SMB 읽기 대기 시간을 얻을 수 있습니까? 이러한 빠른 성능의 대부분은 당사의 혁신적인 읽기 프리페치 시스템의 결과입니다.

우리는 최근 여기 Qumulo에서 새로운 회계 연도를 시작했습니다. 회사가 시작되는 동안 이 차트가 제시되어 작년에 전 세계 Qumulo 고객의 평균 읽기 지연 시간을 보여줍니다.

 

보시다시피 NFS 및 SMB 프로토콜 읽기 대기 시간은 상당히 감소했습니다. 고객이 2018년에 Qumulo 소프트웨어를 업그레이드하면서 읽기 성능이 점점 더 빨라지는 것을 보았습니다.

하드 디스크 비용 대비 메모리 속도

Qumulo의 비용 효율적인 하이브리드 클라우드 파일 스토리지 시스템은 상대적으로 느린 하드 디스크 드라이브에 대부분의 데이터를 저장하지만 대부분의 데이터가 SSD와 메모리의 속도로 고객에게 제공된다는 것을 아래에서 볼 수 있습니다. Qumulo 고객을 위한 대부분의 읽기 작업은 밀리초 미만의 대기 시간을 갖습니다.

 

고객은 어떻게 낮은 NFS 읽기 대기 시간과 낮은 SMB 읽기 대기 시간을 얻을 수 있습니까? 이러한 빠른 성능의 대부분은 당사의 혁신적인 읽기 프리페치 시스템의 결과입니다. 그러나 소프트웨어에 들어가기 전에 하드웨어를 살펴보고 우리가 무엇을 할 것인지 이해합시다.

저장 매체 하드웨어 특성

일반적인 Qumulo 클러스터(예: QC4의 208개 노드)에는 104개의 하드 드라이브(HDD), 56개의 SSD(솔리드 스테이트 드라이브) 및 600기가바이트의 메모리(RAM)가 있습니다. 우리 고객은 많은 데이터를 가지고 있으며 디스크에서 안전하게 보호되는 데이터가 필요합니다. 그들은 또한 해당 데이터에 빠르게 액세스하기를 원합니다.

 

다음은 일반적인 Qumulo 클러스터에 있는 다양한 저장 매체에서 데이터를 읽는 데 걸리는 시간을 보여주는 다이어그램입니다.

 

Qumulo 스토리지에서 데이터를 읽는 가장 빠른 방법은 RAM에서 데이터를 읽는 것입니다. 그러나 주어진 순간에 전체 클러스터 데이터의 아주 작은 부분만 메모리에 유지할 수 있습니다. RAM에 넣은 내용과 RAM에 넣는 시간에 대해 어떻게 현명해질 수 있습니까? 사용자가 요청하기도 전에 읽을 내용을 예상하고 얻을 수 있는 방법은 무엇입니까?

프리페치가 없는 간단한 읽기 패턴

위의 질문에 답하기 위해 최적화가 없는 단일 파일에 대한 단일 클라이언트의 간단한 읽기 패턴을 살펴보겠습니다.

 

각 읽기는 상대적으로 느립니다. 이것은 모든 읽기가 HDD에서 오고 몇 밀리초가 걸리는 시나리오를 보여줍니다. 이 시나리오에서 50초 또는 1MB/s에 50MB 파일을 읽을 수 있습니다.

직렬의 느린 읽기 패턴에 대한 프리페칭

이 다음 다이어그램은 동일한 패턴으로 읽을 경우 어떤 일이 발생하는지 보여주지만 Qumulo의 소프트웨어는 다음에 읽을 내용을 파악하여 RAM에 저장하므로 요청할 때 매우 빠르게 다시 가져올 수 있습니다. 이제 0.5초 만에 파일을 읽고 초당 100MB/s를 얻습니다. 괜찮습니다.

 

클라이언트 최적화 읽기 패턴 미리 가져오기

그러나 Windows, Mac 및 Linux 클라이언트는 파일을 직렬로 읽는 경향이 없습니다. 그들은 큰 병렬 배치로 파일을 읽는 경향이 있습니다. 다음 다이어그램은 해당 시나리오를 보여줍니다. 거의 동시에 50개의 읽기가 시작됩니다. 세 번째 읽기는 성공적으로 프리페치되지만 여전히 시간이 걸립니다. 그러나 다음 500개 읽기는 이제 모두 메모리에 있고 대략 순서대로 읽히고 읽기는 모두 밀리초 미만이 걸립니다. 이제 XNUMX분의 XNUMX초 안에 XNUMXMB 파일을 읽을 수 있습니다. XNUMXMB/s입니다. 점점 빨라지고 있다.

 

프리페치 및 파일 예측

다음 다이어그램은 사용자가 읽는 다음 파일을 Qumulo가 예상할 때 어떤 일이 발생하는지 보여줍니다. 이 경우 파일 2의 모든 데이터를 104개의 디스크 드라이브에서 RAM으로 가져올 수 있으며 두 번째 파일을 0.03밀리초 안에 읽을 수 있습니다. 즉, 현재 파일(및 이후의 모든 파일)을 1.6GB/s의 속도로 읽고 있습니다. 정말 빠르게!

 

위의 예와 같이 상황이 항상 완벽하지는 않습니다. 때때로 읽기 패턴은 완전히 무작위입니다. 이 경우 아무 것도 미리 가져오지 않습니다.

 

우리의 프리페처는 종료되고 귀중한 RAM을 낭비하지 않습니다. 그래도 걱정하지 마십시오. "SSD 캐시로 읽기 승격"의 이점을 계속 누릴 수 있지만 해당 주제는 다른 날을 위한 것입니다.

Qumulo에서 뛰어난 읽기 성능을 얻는 방법

  • 파일 내부를 읽을 때 처음부터 순서대로 읽으십시오.
  • 디렉토리 내:
    • 파일을 숫자 순서로 읽습니다(file1.txt, file2.txt 등).
    • 또는 "ls -U"를 통해 반환된 순서대로 파일을 읽습니다.
  • 가능하면 큰 덩어리로 읽기
  • 작은 파일(특히 몇 메가바이트 미만의 파일) 작업 시 전체 파일 읽기

원하시면 여기로 연락주세요 회의 설정 또는 데모 요청. 과 블로그 구독 더 유용한 모범 사례 및 리소스를 위해!

관련 게시물

위쪽으로 스크롤