IOPSの世界記録更新 – LINBIT、1480万IOPSを突破

    パフォーマンステストにおいて、LINBITは標準の既製Intelサーバーで構築した12ノードクラスターで、1480万IOPSを計測しました。このハードウェアベースでは、これは市場に出回っているハイパーコンバージドシステムが達成した最高のストレージパフォーマンスであり、小規模なLINBITストレージシステムでも、数ミリ秒のレイテンシで数百万のIOPSを提供できます。そして実際のアプリケーションでは、この数値は卓越したアプリケーションパフォーマンスに相当します。

    テスト設定

    競合他社が同等のシステムでのテスト結果を公開しているので、LINBITもこの設定を選択しました。このため、公平な条件と同じ環境で各ソフトウェア製品の長所をわかりやすく比較できます。

    私たちはシステムを最大限に活用できるよう懸命に努力し、ついにやり遂げました!Microsoftはなんとか1,370万IOPSに到達、Storpoolはわずか1,380万IOPSでしたが、私たちはリモート読み取りで1,480万IOPSを達成しました。これは7.2%の大幅な増加です。
    「これらのパフォーマンス数値は、当社のソフトウェア開発における画期的な出来事を示しています。この結果は、私たちが高可用性を大規模にスピードアップできることを証明しています」と、CEOのPhilipp Reisnerは述べています。この数値は、より大規模な設定ではさらにスケールアップするでしょう。

    この結果は、DRBDを使用した3方向同期レプリケーションで得られたものです。テストクラスターは、Intel® Data Center Buildersプログラムで提供。12台のサーバーで構成され、それぞれがベンチマークの8つのインスタンスを実行し、合計で96個のインスタンスを作成します。構成はハイパーコンバージドで、ベンチマークの実行とベースとなる基盤となるの提供に同じサーバーを使用しています。

    一部のベンチマークでは、ストレージレプリカの1つは、ベンチマークワークロード自体と同じノード上のローカルレプリカになります。これはDRBDでの特に効果的な構成です。

    DRBDは標準のLinuxブロックデバイスを提供するため、ホスト、コンテナ、または仮想マシンから直接使用できます。これらのベンチマークでは、ワークロードはコンテナで実行されており、これはDRBDと LINSTORで構成されるLINBITのSDSソリューションがKubernetesで使用するのに適していることを示しています。

    IOPSと帯域幅の結果は、96個のワークロードインスタンスすべての合計で、レイテンシの結果は平均化されています。

    では、詳細を見てみましょう。

    DRBDで最高のパフォーマンスを達成

    500万の同期レプリケーション書き込みIOPS

    これは、各ワークロードのIO深度が64の4Kランダム書き込みベンチマークで達成されました。この設定では、DRBDメタデータの保存にIntel® Optane™ DCパーシステント・メモリーを使用しています。書き込みは、1つのローカルレプリカと2つのリモートレプリカの3方向レプリケーションで複製されています。これは、バッキングストレージデバイスが合計1,500万IOPSの速度で書き込みを行っていることを意味します。

    85μsの同期レプリケーション書き込みレイテンシ

    これは、シリアルIOを使用した4Kランダム書き込みベンチマークで達成されました。つまり、IO深度が1であり、3つのレプリカすべてへの書き込みが平均85μsで持続したことを意味します。DRBDは、1つのレプリカがローカルの場合と、すべてのレプリカがリモートの場合の両方で、このレベルのパフォーマンスを達成しました。ここでは、メタデータの保存にIntel® Optane™ DC Persistent Memoryを使用しています。

    1,480万のリモート読み取りIOPS

    これは、IO深度64の4Kランダム読み取りベンチマークで達成され、75GB/秒の理論上のネットワーク帯域幅全体の80%に相当します。この結果は、永続メモリを使用せずに再現されており、競合他社の値と比較することができます。

    70/30の読み取り/書き込み混在で1,060万IOPS

    より一般的な実際のシナリオを表すこのベンチマークは、70%の読み取りと30%の書き込みで構成されており、IO深度は64を使用しました。3つのレプリカのうち1つはローカルでした。

    パーシステント・メモリーのメリット

    DRBDは、パーシステント・メモリー向けに最適化されています。DRBDメタデータがNVDIMMに保存されると、書き込みパフォーマンスが向上します。

    メタデータがデータとともにバッキングストレージSSDに保存されている場合、DRBDは450万の書き込みIOPSを処理できます。これは、メタデータがIntel® Optane™ DCパーシステント・メモリーに保存されている場合には500万IOPSに増加し、10%向上します。

    メタデータをパーシステント・メモリーに移動すると、書き込みレイテンシに特に顕著な影響があります。この構成の変更により、数値は113μsから85μsに急落します。つまり、平均的な書き込みが25%速くなります。

    詳細結果

    以下は、合計96のベンチマークワークロードを持つ、12台のサーバーで実行されているDRBDの全ての結果です。

    ベンチマーク内容

    ローカルレプリカなし

    ローカルレプリカあり

    ランダム読み取り(高いほど良い)

    14,800,000 IOPS

    22,100,000 IOPS

    ランダム読み取り/書き込み70/30(高いほど良い)

    8,610,000 IOPS

    10,600,000 IOPS

    ランダム書き込み(高いほど良い)

    4,370,000 IOPS

    5,000,000 IOPS

    シーケンシャルリード(高いほど良い)

    64300 MB/s

    111000 MB/s

    シーケンシャルライト(高いほど良い)

    20700 MB/s

    23200 MB/s

    読み取りレイテンシ(低いほど良い)

    129 μs

    82 μs

    書き込みレイテンシ(低いほど良い)

    85 μs

    84 μs

    IOPSとMB/sの値は、有効数字3桁に切り捨て。
    すべてのボリュームのサイズは500GiB、アクティブセットの合計は48,000GiB、基盤となるストレージの合計は144,000GiBです。ワークロードは、以下のパラメーターでfioツールを使用して生成されます。

    ベンチマークタイプ

    ブロックサイズ

    IO深度

    ワークロードインスタンス

    アクティブIO合計

    ランダム

    4K

    64

    96

    6144

    シーケンシャル

    128K

    16

    96

    1536

    レイテンシ

    4k

    1

    96

    96

    クオリティのコントロール

    結果の信頼性を確保するために、以下のコントロールを適用しました。

    • データセット全体で、ボリュームを割り当てた後、テストを実行する前に書き込みを実行。これにより、未割り当てブロックの人為的な高速読み取りを防ぐことができます。バッキングデバイスのドライバーまたはファームウェアが未割り当てブロックが読み込まれていることを認識した場合、物理メディアから読み込まずに単にゼロを返す場合があります。
    • ベンチマークではダイレクトIOを使用してオペレーティングシステムのキャッシュをバイパスしました。ワーキングセットが大きすぎて、いずれにしてもメモリにキャッシュされることはありませんでした。
    • テストはそれぞれ10分間実行。測定値はわずかな時間で安定しました。
    • 測定値は、DRBD統計などの下位レベルから取得されるのではなく、ベンチマークツール自体が提供。これにより、パフォーマンスの実際のアプリケーションでのパフォーマンスへの対応が保証されます。
    • ベンチマークに使用されたランダムパターンでは、後続のテスト実行で同じブロックが選択されることによるバイアスを回避するために、ランダムシードを使用しました。

    ソフトウェアスタック

    これらのベンチマークでは、次の主要ソフトウェアコンポーネントを使用しました。

    • ディストリビューション:CentOS 8.0.1905
    • カーネル:Linux 4.18.0-80.11.2.el8_0.x86_64
    • ディストリビューションカーネルのLVM
    • DRBD 9.0.21-1
    • Docker 19.03.5
    • Fio 3.7

    用語について

    この記事やLINBITでは、一般に、データが2つのストレージデバイスに保存されていることを示す場合、「2つのレプリカ」という表現を使用します。このテストでは「3つのレプリカ」という言葉が出てきますが、これはデータが3つのストレージデバイスに保存されていることを意味します。

    他の文脈では、「2つのレプリカ」という表現は、1つのオリジナルと2つのレプリカを意味する場合があります。つまり、データは3つのストレージデバイスに保存されています。

    テスト環境のインフラ

    これらの結果は、Intel® Data Center Buildersプログラムの一部として提供された12台のサーバーのクラスターで得られたものです。各サーバーの構成は以下の通りです。

    • プロセッサー:Intel® Xeon Platinum 8280L CPU 2台
    • メモリ:384GiB DDR4 DRAM
    • パーシステント・メモリー: 512GB Intel® Optane™ DC Persistent Memory x 4
    • ストレージ:最低4TBのIntel® SSD DC P4510 x 4(最低)
    • ネットワーク:デュアル25GbEポート搭載 Intel® Ethernet Network Adapter XXV710

    サーバーはすべて、25Gbスイッチを備えたシンプルなスター型トポロジーで接続。

    スピードが命

    現代のIT環境では、ストレージがしばしばボトルネックになっています。スピードと高可用性という2つの要件は常に競合しています。最高のスピードを目指すと、高可用性の品質は低下し、その逆もまた然りです。しかし、当社はこのパフォーマンステストで、最高のオープンソースのソフトウェア定義ストレージソリューションであることを実証し、高可用性とローカルNVMeドライブのパフォーマンスを両立させたレプリケーションストレージシステムを実現しました。

    このテクノロジーにより、パブリックおよびプライベートのクラウドビルダーは、アプリケーション、VM、およびコンテナに高いパフォーマンスを提供できるようになります。強力なプライベートクラウドやパブリッククラウドの構築を目指す場合、当社のソリューションは、ストレージパフォーマンスのニーズに対応することができます。

    詳細をお知りになりたい場合やご質問がある場合は、sales@linbit.comまでご連絡ください。

    記事原文はこちら

     

    DRBDはLINBIT HA-Solutions GmbHの登録商標です。

    SNSでもご購読できます。