홈페이지 Enterprise Intel Optane DC 영구 메모리 NoSQL 성능 검토

Intel Optane DC 영구 메모리 NoSQL 성능 검토

by 브라이언 빌러

올해 초 우리는 게시 인텔 Optane DC 영구 메모리 우리가 검토한 데이터 슈퍼마이크로 슈퍼서버 1029U-TN10RT 플랫폼입니다. 슈퍼 마이크로 Intel 영구 메모리를 지원하는 최초의 제품 중 하나였으며 듀얼 프로세서 2U 시스템은 영구 메모리 테스트 베드로서 훌륭한 작업을 수행했습니다. 기존 블록 스토리지 방식에서 Optane DC 영구 메모리 속도를 살펴보는 것은 유익하지만, 영구 메모리의 진정한 가치는 이 새로운 매체를 기본적으로 활용할 수 있는 애플리케이션을 통해 드러납니다. 응용 프로그램이 필요합니다. Optane DC 영구 메모리의 성능 프로파일을 더 잘 이해하기 위해 우리는 최고의 NoSQL 플랫폼인 Aerospike를 사용하여 Supermicro 서버를 작동시켰습니다.


올해 초 우리는 게시 인텔 Optane DC 영구 메모리 우리가 검토한 데이터 슈퍼마이크로 슈퍼서버 1029U-TN10RT 플랫폼입니다. 슈퍼 마이크로 Intel 영구 메모리를 지원하는 최초의 제품 중 하나였으며 듀얼 프로세서 2U 시스템은 영구 메모리 테스트 베드로서 훌륭한 작업을 수행했습니다. 기존 블록 스토리지 방식에서 Optane DC 영구 메모리 속도를 살펴보는 것은 유익하지만, 영구 메모리의 진정한 가치는 이 새로운 매체를 기본적으로 활용할 수 있는 애플리케이션을 통해 드러납니다. 응용 프로그램이 필요합니다. Optane DC 영구 메모리의 성능 프로파일을 더 잘 이해하기 위해 우리는 최고의 NoSQL 플랫폼인 Aerospike를 사용하여 Supermicro 서버를 작동시켰습니다.

인텔 Optane DC 영구 메모리
Supermicro 서버의 Intel Optane DC 영구 메모리 모듈

에어로스파이크란?

Aerospike는 운영 데이터와 관련된 까다로운 읽기/쓰기 워크로드를 위해 확장성이 뛰어난 분산형 비관계형 데이터베이스 관리 시스템을 제공합니다. 10~100TB의 데이터베이스에서 수십억 개의 레코드에 걸쳐 있는 데이터 세트에 액세스하기 위해 매우 빠르고 예측 가능한 응답 시간을 제공하도록 설계되었습니다. Aerospike는 사기 방지, 디지털 결제, 추천 엔진, 실시간 입찰 등 다양한 전략적 애플리케이션을 지원합니다. Aerospike 고객에는 Adobe, Airtel, FlipKart, Kayak, Nielsen, PayPal 및 Wayfair와 같은 매우 큰 이름이 포함됩니다.

사용 사례 및 데이터 세트에 따라 Aerospike는 사용 사례에 대한 시스템 리소스를 최적화하는 다양한 구성으로 배포할 수 있습니다. Aerospike는 메모리의 데이터, SSD의 데이터가 있는 메모리의 인덱스 또는 SSD의 데이터가 있는 SSD의 인덱스로 시작할 수 있습니다. 최근 Aerospike는 AppDirect 모드에서 Intel의 Optane DC 영구 메모리를 활용하는 새로운 구성을 출시했습니다. 인덱스는 SSD의 데이터와 함께 PMEM에 저장됩니다. 이 새로운 모드는 SSD의 데이터로 메모리의 인덱스에 매우 가까운 성능을 유지하면서 Aerospike의 용량을 확장합니다. 이 새로운 모드는 밀리초 미만의 대기 시간을 제공할 뿐만 아니라 기본 인덱스 재구축 없이도 Aerospike의 빠른 전체 다시 시작이 가능합니다.

서로 다른 Aerospike 구성에 서로 다른 유형의 워크로드를 적용하여 SuperMicro SuperServer에서 Intel Optane DC 영구 메모리를 활용함으로써 얻을 수 있는 이점과 성능을 평가할 수 있습니다. SSD 구성의 메모리/데이터 인덱스와 SSD의 PMEM/데이터 인덱스에 대해 벤치마크를 실행 및 비교하면 영구 메모리와 DRAM 사용에 대해 정보에 입각한 선택을 할 수 있는 정보가 제공됩니다. 영구 메모리에 대한 추가 성능 통찰력을 제공할 수 있는 추가 구성이 하나 있습니다. PMEM의 인덱스 및 PMEM의 데이터 기능은 출시되지 않았지만 PMEM의 인덱스와 함께 실행되도록 서버에서 PMEM을 구성하고 블록 장치로 구성된 PMEM의 일부를 실행하여 사용자에게 아이디어를 제공하는 방법이 있습니다. PMEM의 인덱스 및 PMEM의 데이터에 대한 성능 가능성.

Aerospike NoSQL 구성

세 가지 서로 다른 구성 각각에 세 가지 서로 다른 워크로드가 적용되었습니다. Aerospike Java Benchmark는 50개의 클라이언트 서버에서 50/4 읽기/쓰기 워크로드, 읽기 전용 워크로드 및 쓰기 전용 워크로드를 생성했습니다. 각 테스트는 여러 단계로 구성되었습니다.

  • 수집 단계 – 데이터를 데이터베이스에 로드합니다.
  • 준비 단계 – XNUMX시간 동안 쓰기 로드를 실행하여 데이터베이스의 안정적인 상태를 만듭니다.
  • 테스트 단계 – 한 시간 동안 테스트를 위한 실제 워크로드를 실행합니다.

테스트를 실행하기 전에 데이터에 대한 적절한 키 세트와 개체 크기를 선택했습니다. Aerospike는 440바이트에서 XNUMX만 바이트에 이르는 광범위한 객체 크기를 가지고 있지만 키 세트와 객체 크기는 서버 하드웨어를 실행하고 PMEM 구성의 성능을 시연하기 위해 선택되었습니다. 개체 크기가 클수록 네트워크 병목 현상이 발생할 수 있으며 Optane DC 영구 메모리의 성능을 충분히 발휘하지 못할 수 있습니다. 따라서 모든 테스트에 XNUMX바이트의 개체 크기가 사용되었습니다.

키 세트 크기는 SSD 구성의 메모리/데이터의 인덱스에 사용되는 메모리 양에 의해 제한되었습니다. 메모리 구성의 인덱스는 4억 개체의 데이터 세트로 제한되었습니다. PMEM의 인덱스는 15.5억 개의 키 용량을 처리할 수 있지만 메모리 테스트의 인덱스와 더 나은 비교를 위해 4억 개의 키만 사용되었습니다. 최종 테스트 세트는 PMEM의 인덱스와 PMEM의 데이터로 실행되었습니다. 서버에는 총 1.5TB의 PMEM이 있었기 때문에 이러한 테스트에는 XNUMX억 개의 키만 사용되었습니다.

하드웨어 구성

하드웨어 구성에는 두 가지 주요 구성 요소가 포함됩니다. 단일 데이터베이스 서버에는 Intel Optane PC 영구 메모리가 있습니다. 네 개의 클라이언트 서버는 데이터베이스 서버에 대한 로드를 생성합니다.

데이터베이스 서버

  • 섀시 - SuperMicro Ultra 1U SYS-1029U-TN10RT
  • CPU
    • 2 x 인텔 제온 확장 가능 8268(2.9GHz, 24C)
    • 2 x 인텔 제온 확장 가능 8280(2.7GHz, 28C)
  • 스토리지 – 10 x 인텔 DC P4510 2TB NVMe SSD, 1DWPD
  • DRAM - 12 x 32GB DDR4-2933
  • 영구 메모리 – 12 x 128GB DDR4-2666 Intel Optane DC PMM
  • 네트워크 - 100GbE
  • 운영 체제 – 페도라 29  

클라이언트 서버

  • 섀시 - Dell R740xd
  • CPU – 2 x 인텔 제온 확장 가능 6130
  • D램 – 256GB
  • 네트워크 – 2 x 25GbE
  • OS – 우분투 – 18.04
  • 소프트웨어 – Aerospike Enterprise 4.5.1
  • 부하 생성기 – Aerospike Java 벤치마크(Aerospike Java 클라이언트 4.4.0)

Aerospike 성능 결과

언급한 바와 같이 다양한 워크로드 구성과 인덱스 및 데이터베이스의 위치에서 테스트를 실행했습니다. 또한 두 가지 다른 세트를 사용했습니다. XNUMX세대 Intel Xeon 확장 가능 CPU. 우리는 데이터베이스 서버에서 8268과 8280을 모두 실행했으며, 8280 CPU는 Optane DC 영구 메모리를 지원하는 가장 높은 bin Intel CPU입니다. 원시 클럭 속도에서 8280은 12에 비해 8268Ghz 범프 또는 8.6%의 성능 향상을 제공합니다. 아래 표에는 없지만 서비스 품질 측면에서 테스트의 모든 대기 시간 결과는 서버에서 거의 100% 밀리초 미만이었습니다.

메모리의 인덱스, NVMe SSD의 데이터

활동 처리량 작업
인텔 8268
처리량 작업
인텔 8280
읽기/쓰기 50/50 2,100,000 2,298,000
100% 읽기 2,240,000 2,720,000
100% 쓰기 1,760,000 2,020,000

우리는 8280이 8.6에 비해 원시 클럭 속도에서 8268% 향상을 제공한다는 것을 알고 있지만 이것이 애플리케이션 개선으로 어떻게 변환되는지 보는 것이 핵심 목표입니다. Aerospike를 사용하면 인덱스가 메모리에 있고 데이터가 NVMe SSD에 있는 상태에서 다음과 같은 라인 항목 변경 사항을 확인했습니다. 혼합 읽기/쓰기 50/50 성능은 9.4%, 100% 읽기는 21.4%, 100% 쓰기 성능은 14.8% 증가했습니다. 

Optane DC 영구 메모리의 인덱스, NVMe SSD의 데이터

활동 처리량 작업
인텔 8268
처리량 작업
인텔 8280
읽기/쓰기 50/50 2,000,000 2,252,000
100% 읽기 2,200,000 2,630,000
100% 쓰기 1,740,000 1,980,000

이 데이터에서 볼 수 있듯이 인덱스를 DRAM에서 영구 메모리로 이동하면 트랜잭션 성능에 거의 영향을 미치지 않습니다. 그러나 프로덕션에서 이것이 의미하는 바는 Aerospike가 인덱스에 DRAM 대신 영구 메모리를 사용할 수 있기 때문에 데이터베이스 노드 재부팅 후 복원이 훨씬 빠르다는 것입니다. 대규모 DRAM 풀이 재구성을 위해 SSD로 이동할 필요가 없기 때문입니다. 테스트 중인 128GB Optane DC 영구 메모리 모듈이 128GB DIMM보다 훨씬 저렴하기 때문에 고밀도 상자에서도 비용 절감 효과가 있습니다. 

Optane DC 영구 메모리의 인덱스 및 데이터

활동 처리량 작업
인텔 8268
처리량 작업
인텔 8280
읽기/쓰기 50/50 2,600,000 2,866,000
100% 읽기 2,810,000 3,100,000
100% 쓰기 2,120,000 2,210,000

언급한 바와 같이 Aerospike는 Intel Optane DC 영구 메모리에서 인덱스와 데이터베이스를 모두 실행할 수 있는 기능에 대한 일반 가용성을 발표했지만 아직 제공하지 않았습니다. 즉, 혼합 워크로드에서 초당 약 33% 또는 600,000 작업의 향상을 보여주는 현재 코드 빌드를 시연했습니다. 

결론

Intel Optane DC 영구 메모리는 데이터 계층 구조에서 매우 강력한 부분입니다. RAM과 스토리지 사이에 삽입된 Intel의 영구 메모리 화신은 마침내 기술 주류를 가져왔습니다. 그러나 새로운 스토리지 기술에 액세스하는 것만으로는 충분하지 않습니다. 영구 메모리를 기본적으로 활용할 수 있는 애플리케이션은 엄청난 경쟁 우위를 갖게 될 것입니다. Aerospike에서 볼 수 있는 유연성은 그들이 Optane DC 영구 메모리에 대한 앱 다이렉트 모드 지원(블록 스토리지)을 통해 게이트 밖으로 나갈 준비가 되었음을 보여줍니다. 또한 인덱스와 데이터를 영구 메모리 모듈에 유지하는 것과 관련하여 NoSQL 세계의 선두 주자입니다. 후자는 여전히 떠오르는 비전이지만 초기 결과는 매우 유망해 보입니다.

에어로 스파이크

이 검토에 대해 토론

StorageReview 뉴스레터 신청