DirectFlash™ ファブリック ー NVMe-oF RoCE で Oracle 18c を高速化

ソリューションアーキテクトの Rakesh Tikku(ラケシュ・ティック)による記事「DirectFlash ファブリック ー NVMe-oF RoCE で Oracle 18c を高速化」をご紹介します。


シニアシステムズエンジニアの鈴木です。今回は、ソリューションアーキテクトの Rakesh Tikku(ラケシュ・ティック)による記事「DirectFlash™ ファブリック ー NVMe-oF RoCE で Oracle 18c を高速化」をご紹介します。


ピュア・ストレージは、低遅延で高性能な NVMe テクノロジーをストレージネットワークで実現する DirectFlash™ ファブリックを発表しました。Purity 5.2 では、FlashArray//X で NVMe-oF over RoCE(RDMA over Converged Ethernet)の利用が可能です。

DirectFlashファブリック

NVMe-oF とは?

NVMe over Fabrics(NVMe-oF)は、データセンターで普及し始めている新しいストレージテクノロジーです。低遅延でデータ転送速度が速く、サーバー上のストレージとアプリケーション間の接続の高速化、CPU 使用率の効率化を実現します。

NVMe-oF について深く掘り下げる前に、まず、その歴史と進化の過程を簡単に見てみましょう。

今日最も普及している記憶媒体は、ホストバスアダプタとの通信に SCSI/SAS や SATA インタフェースを使用するハードディスクドライブ(HDD)です。しかし、フラッシュメモリの価格が下がるにつれ、ソリッドステートドライブ(SSD)がより一般的な選択肢となってきました。一方で、SSD には可動部品が含まれておらず HDD よりもはるかに高速であるため、SSD の性能が HDD 用に開発されたデータバスの速度を上回ることとなりました。これにより、ソリッドステートテクノロジーを利用するために特別に設計された、新しいプロトコルと標準化が必要になりました。

NVMe は、標準化団体の NVM Express Inc. によって策定されたホストコントローラインタフェースおよびストレージプロトコルで、SCSI/SAS や SATA に代わるものです。コンピュータの高速 PCIe(Peripheral Component Interconnect Express)バスを介したデータの高速転送を可能にします。低遅延のソリッドステートメディアで使用することを念頭に設計されており、レガシープロトコルに見られる多くのボトルネックを排除します。

NVMe デバイスは、サーバー内の PCIe バスに接続されています。したがって、NVMe のメリットをストレージネットワークにもたらすことは、自然な流れです。NVMe-oF は、サーバーとストレージを接続するネットワークファブリック全体で、NVMe が持つ高性能で低遅延という優れた機能を提供します。軽量で合理化された NVMe コマンドセットや、より効率的なキューイングモデルを採用し、PCIe トランスポートをファイバーチャネル、RoCE、TCP などの代替トランスポートに置き換えます。

NVMe-oF の利点

NVMe は、直接接続ストレージ(DAS)とのデータ交換に優れています。しかし、DAS には、ディスクとデータがサイロ化されて記憶容量を効率的に使用できないという欠点があります。さらに、エンタープライズクラスのストレージアレイに含まれているデータサービスがありません。

NVMe-oF 対応の FlashArray//X は、高効率、高性能といった NVMe の利点と、冗長性、シンプロビジョニング、スナップショット、レプリケーションなどの高度なデータサービスを備えた共有型高速ストレージの利点の両方を備えています。

NVMe-oF の特長としては、以下が挙げられます。

  • 低遅延
  • 高 IOPS
  • 高帯域幅
  • I/O スタックの削減によるプロトコル効率の向上
  • 一部の処理をカーネルから HBA にオフロードすることで、ホスト上の CPU 使用率を下げる

Oracle での性能検証

FlashArray では、Oracle データベースがよく利用されています。データベース管理者は、ユーザーアプリケーションに迅速な応答時間を提供することが常に求められています。FlashArray//X を使用することで、Oracle データベースにおいても比類のない性能を得られますが、DirectFlash ファブリックを使用することにより、さらに優れたものになります。そこで、ピュア・ストレージでは、DirectFlash ファブリックによって達成される性能と効率を実証するために、SLOB および HammerDB のテストを実行し、iSCSI と NVMe-oF の比較検証を行いました。

比較テストの実施

比較検証をするために、以下の環境を準備しました。

  • RedHat 7.6 を実行する同一構成のサーバーを 2 つ用意し、それぞれに Oracle Database 18c Enterprise Edition をインストール
  • サーバーの構成:Intel Xeon CPU E5-2697 v2 2.70GHz 12 コア × 2(計 24 コア)、512 GB RAM
  • サーバーと FlashArray//X90R2 の接続には、Mellanox ConnectX-4 Lx(デュアルポート 25 GbE)アダプタ 2 つを使用、両方のホストでマルチパスが有効
  • データベース DBTEST01 を iSCSI 構成、データベース DBTEST02 を NVMe-oF 構成とする
  • 負荷テストは各データベースサーバーで順番に実行
  • 両方のデータベースは完全に同一のデータベース構成
  • キャッシュを最小限に抑え、I/O サブシステムへのストレスを最大限にするために、SGA を 5 GB に設定

Oracle 性能テスト ― SLOB(iSCSI vs NVMe-oF)

DirectFlash(NVMe-oF over RoCE )と iSCSI の性能比較には、業界標準の SLOB ベンチマークキットを使用しました。以下の設定で複数のテストを実行しました。

  • 思考時間(think time)を 0 に設定
  • スケーラビリティテスト:128 ユーザーおよび 256 ユーザー
  • ワークロードの読み取り・更新を以下の割合で実施
    • 読み取り 100 %
    • 読み取り 90 %、更新 10 %
    • 読み取り 70 %、更新 30 %
    • 読み取り 50 %、更新 50 %

テストの結果、NVMe-oF は iSCSI よりも優れた帯域幅と遅延時間を達成しました。中でも最も顕著にあらわれた違いは、CPU 使用率でした。

次のグラフは、128 ユーザーにおける各ワークロードのデータベースサーバーの CPU 使用率を示したものです。

256 ユーザーの場合は、以下のような結果になりました。

このように、NVMe-oF を使用すると、CPU 使用率が大幅に低下することがわかります。私たちのテストでの平均的な改善率は 40 〜 45 % でした。ただし、これらのテストは、バッファキャッシュのサイズを小さくすることで I/O に負荷をかけるように設計されており、典型的な本番環境の I/O プロファイルを表すものではないため、結果は異なる場合があります。

Oracle 性能テスト ― HammerDB(iSCSI vs NVMe-oF)

HammerDB プログラムを使用し、両方のデータベースサーバーに対して TPCC を模した負荷テストを実行しました。

テストの詳細は以下のとおりです。

  • HammerDB プログラムを使用して負荷を生成するように 4 つのホストを構成
  • ホストは全て SQL*Net を介してデータベースサーバーに接続
  • 各ホストは 24 コア
  • 各ホストは 96 の vUser を実行するように構成
  • 各 vUser は 10 回の反復を実行(1 回の反復ごとに 1000 トランザクション)
  • ユーザー遅延と繰り返し遅延は 500 ミリ秒に設定

テスト結果を以下の表にまとめます。

改善率
テスト完了時間 7 %
CPU 使用率(%) 33 %
読み取り IOPS 9 %
書き込み IOPS 12 %
読み取り帯域幅(MB / 秒) 9 %
書き込み帯域幅(MB / 秒) 8 %
読み取り遅延(ミリ秒) 5 %
書き込み遅延(ミリ秒) 23 %

テストの結果、NVMe-oF は、iSCSI よりも低遅延、高 IOPS、高帯域幅、そしてはるかに効率的な CPU 使用率を達成できることがわかりました。

まとめ

これらのテスト結果により、FlashArray//X で利用可能な NVMe-oF、DirectFlash ファブリックが、より優れた性能を提供し、Oracle データベースサーバーの CPU リソースの使用率を最適化することが実証されました。通常、Oracle データベースサーバーは CPU コアごとにライセンスが供与されるため、ワークロードを少数のホストに統合して Oracle ライセンスを最適化することは、お客様の TCO 削減につながります。

DirectFlash ファブリックは、低遅延と高性能を実現する NVMe テクノロジーをストレージネットワークにもたらします。すでに、Purity 5.2 で NVMe-oF over RoCE の利用が可能です。ファイバーチャネルと TCP の実装も将来の計画に含まれています。


鈴木からのコメント

ピュア・ストレージが提供する最新テクノロジーを活用することで、サーバーとストレージ間のデータ転送効率を向上させ、今まで以上に、さまざまなエンタープライズアプリケーションの高性能化を実現することが可能となります。

弊社製品に関してご興味があれば、ぜひ担当の営業 / SE やお付き合いのある販売パートナー様にお知らせください。より具体的にご説明・ご提案いたします。お問い合わせページからのご連絡もお待ちしております。

英語版:Oracle 18c Runs Faster with DirectFlash™ Fabric – NVMe-oF RoCE


Pure Storage、Pure Storageのロゴ、およびその他全てのPure Storageのマーク、製品名、サービス名は、米国およびその他の国におけるPure Storage, Inc.の商標または登録商標です。その他記載の会社名、製品名は、各社の商標または登録商標です。