Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

31.2. テスト環境の準備

VDO を評価する前に、テスト時に使用するホストシステムの設定、VDO 設定、およびワークロードを考慮することが重要です。これらの選択肢は、データ最適化(スペース効率)とパフォーマンス(帯域幅およびレイテンシー)の両方でベンチマークに影響します。テストプランの開発時に考慮する必要のある項目は、以下のセクションにリストされます。

31.2.1. システムの設定

  • 利用可能な CPU コアの数およびタイプ。これは、taskset ユーティリティーを使用して制御できます
  • 利用可能なメモリーと、インストールされているメモリーの合計。
  • ストレージデバイスの設定。
  • Linux カーネルバージョンRed Hat Enterprise Linux 7 は、Linux カーネルバージョンを 1 つだけ提供することに注意してください。
  • パッケージがインストールされている。

31.2.2. VDO 設定

  • パーティションスキーム
  • VDO ボリュームで使用しているファイルシステム
  • VDO ボリュームに割り当てられている物理ストレージサイズ
  • 作成した論理 VDO ボリュームのサイズ
  • スパースまたは密インデックス
  • メモリサイズの UDS インデックス
  • VDO のスレッド設定

31.2.3. ワークロード

  • テストデータを生成するのに使用するツールの種類
  • 同時クライアントの数
  • 書き込まれたデータで重複する 4 KB ブロックの量
  • 読み書きのパターン
  • ワーキングセットのサイズ
VDO ボリュームは、特定のテスト間で再作成して、各テストが同じディスク環境で実行されるようにする必要があります。詳細は、「テスト」のセクションを参照してください。

31.2.4. サポートされるシステム設定

Red Hat は、Intel 64 アーキテクチャーで Red Hat Enterprise Linux 7 で VDO をテストしています。
VDO を評価する場合は、次のユーティリティーが推奨されます。
  • 柔軟な I/O Tester バージョン 2.08 以降( fio パッケージから利用可能)
  • sysstat バージョン 8.1.2-2 以降。これは sysstat パッケージから入手できます。

31.2.5. Pre-Test System Preparations

本セクションでは、評価中に最適なパフォーマンスを得るようにシステム設定を設定する方法を説明します。特定のテストで確立された暗黙的なバインドを超えたテストを行うと、異常な結果が原因でテスト時間が損失する可能性があります。たとえば、本書では、100 GB のアドレス範囲で無作為な読み込みを実行するテストを説明します。500 GB のワーキングセットをテストするには、VDO ブロックマップキャッシュに割り当てられる DRAM の量を適宜増やす必要があります。
  • システムの設定
    • CPU が最も高いパフォーマンス設定で実行していることを確認します。
    • BIOS 設定または Linuxcpupower ユーティリティーを使用して可能な場合は、頻度のスケーリングを無効にします。
    • 最大スループットを達成するには、Turbo モードを有効にします。Turbo モードでは、テスト結果にいくつかの異なる可能性が導入されますが、パフォーマンスは、Turbo を使用しないテストの条件を満たすか、それを超えるものです。
  • Linux の設定
    • ディスクベースのソリューションの場合、Linux では、キューに格納されているため、複数の読み取り/書き込み要求を処理する複数の I/O スケジューラーアルゴリズムがあります。デフォルトでは、Red Hat Enterprise Linux は CFQ(完全フェイロスイング)スケジューラーを使用します。これは、多くの状況でローテーションするディスク(ハードディスク)アクセスを改善する方法で要求を配置します。代わりに、Deadline scheduler for rotational ディスクの使用を推奨します。Red Hat ラボテストによりスループットとレイテンシーが向上します。以下のようにデバイス設定を変更します。
      # echo "deadline" > /sys/block/device/queue/scheduler
      
    • Flash ベースのソリューションの場合、noop スケジューラーは、Red Hat ラボテストにおけるランダムなアクセススループットとレイテンシーを示しています。以下のようにデバイス設定を変更します。
      # echo "noop" > /sys/block/device/queue/scheduler
  • ストレージデバイスの設定
    ファイルシステム(ext4、XFS など)は、パフォーマンスに一意に影響する可能性があります。多くの場合、パフォーマンス測定が悪いため、VDO への影響を分離することは困難になります。妥当な場合には、raw ブロックデバイスでパフォーマンスの測定が推奨されます。これができない場合は、ターゲット実装で使用されるファイルシステムを使用してデバイスをフォーマットします。

31.2.6. VDO 内部構造

VDO メカニズムの一般的な理解は、完全かつ正常な評価に不可欠です。この点は、テスト計画からコーディングを希望する場合や、特定のアプリケーションをエミュレートしたり、ユースケースで使用できるように新しいスピュームを促進したりする場合に特に重要です。30章VDO 統合
Red Hat テスト計画は、デフォルトの VDO 設定を操作するために記述されました。新しいテストを開発する場合は、次のセクションに記載されている VDO パラメーターの一部を調整する必要があります。

31.2.7. VDO の最適化

高負荷

最適なパフォーマンスを実現するための最も重要なストラテジーとして、最適な I/O キュー深度(ストレージシステムの負荷を表す特性)を決定します。最新のストレージシステムの大半は、I/O 深度で最適に実行されます。VDO のパフォーマンスは、同時リクエストを多数実証します。

同期と非同期書き込みポリシー

VDO は、2 つの書き込みポリシー(同期または非同期)のいずれかで動作します。デフォルトでは、VDO は、基となるストレージデバイスに適した書き込みポリシーを自動的に選択します。
パフォーマンスをテストする際には、VDO が選択した書き込みポリシーを確認する必要があります。次のコマンドは、VDO ボリュームの書き込みポリシーを表示します。
# vdo status --name=my_vdo

メタデータキャッシング

VDO は、論理ブロックアドレスから物理ブロックアドレスへのマッピングの表を維持し、VDO は特定のブロックにアクセスする際に関連するマッピングを検索する必要があります。デフォルトでは、VDO は DRAM で 128 MB のメタデータキャッシュを割り当て、一度に 100 GB の論理領域への効率的なアクセスをサポートします。テスト計画は、この設定オプションに適したワークロードを生成します。
設定したキャッシュサイズよりも大きい作業セットでは、リクエストに対応するための追加の I/O が必要です。この場合、パフォーマンスが低下することになります。追加のメモリーが利用可能な場合は、ブロックマップキャッシュを大きくする必要があります。ワーキングセットがブロックマップキャッシュがメモリーに保持できるものよりも大きくなる場合、追加の I/O カーソルが、関連付けられたブロックマップページの検索に発生する可能性があります。

VDO マルチスレッド設定

最適なパフォーマンスを得るには、VDO のスレッド設定を調整する必要があります。VDO 統合ガイド で、VDO ボリュームの作成時にこれらの設定を修正する方法は『VDO 統合ガイド』を参照してください。最適な設定を見つけるためにテストを設計する方法については、Red Hat のセールスエンジニアにお問い合わせください。

データコンテンツ

VDO が重複排除と圧縮を行うため、これらの機能を効果的に利用するには、テストデータセットを選択する必要があります。

31.2.8. 読み込みパフォーマンスのテストを行うための特別な考慮事項

読み取りパフォーマンスをテストする際には、以下の要素を考慮する必要があります。
  1. 4 KB ブロックが書き込まれていないと、VDO はストレージに I/O を実行しず、ゼロブロックですぐに応答します。
  2. 4 KB ブロックが書き込まれていてもすべてのゼロが含まれる場合、VDO はストレージに I/O を実行しず、ゼロブロックで即座に応答します。
この動作により、読み込むデータがない場合に、読み込みのパフォーマンスが非常に高速になります。これにより、読み取りテストは実際のデータで事前入力することが想定されます。

31.2.9. cross Talk

あるテストが別のテストの結果に影響を及ぼさないようにするには、各テストの反復ごとに新しい VDO ボリュームを作成することが推奨されます。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。