Data Repository 診断ユーティリティの実行

Vertica は、Data Repository に対するハードウェアのパフォーマンスをテストするユーティリティのセットを提供します。 データベースに対して最適な環境であることを確認するため、Data Repository をアップグレードする前に、これらのテストを実行します。
capm360
Vertica は、Data Repository に対するハードウェアのパフォーマンスをテストするユーティリティのセットを提供します。 データベースに対して最適な環境であることを確認するため、Data Repository をアップグレードする前に、これらのテストを実行します。
3
3
Data Repository がすでにインストールされている場合は、これらのテストをいつでも実行してパフォーマンスを確認できます。 ユーティリティは、各ノードの
/opt/vertica/bin
にあります。
テストが推奨事項を満たしていない場合は、アップグレードを続行する前に、問題を修正してください。
vcpuperf
このユーティリティは、ホストの CPU 処理速度を測定し、その処理速度を共通サーバ CPU のベンチマークと比較します。 このユーティリティは、サーバがテストの完了に要する時間を測定し、CPU スロットルが有効になっているかどうか判断します。
以下の手順に従います。
  1. 各 Data Repository ノードで以下のコマンドを実行します。
    ./vcpuperf > /tmp/vcpuperf.out
  2. パフォーマンスが以下の要件を満たしていることを確認します。
    • CPU 時間が出力のベンチマーク値と一致しています。
    • 負荷が低い時間と負荷が高い時間の範囲は、10 マイクロ秒内です。 差異が 50 マイクロ秒よりも大きい場合、システム上で CPU スロットルが有効になっている可能性があります。 CPU スロットルを無効にしてください。
例:
以下の例は、このユーティリティからの戻り値を示します。
$ /opt/vertica/bin/vcpuperf
Compiled with: 4.1.2 20080704 (Red Hat 4.1.2-52)
Expected time on Core 2, 2.53GHz: ~9.5s
Expected time on Nehalem, 2.67GHz: ~9.0s
Expected time on Xeon 5670, 2.93GHz: ~8.0s
This machine's time:
CPU Time: 7.740000s
Real Time:7.740000s
Some machines automatically throttle the CPU to save power.
This test can be done in <100 microseconds (60-70 on Xeon 5670, 2.93GHz).
Low load times much larger than 100-200us or much larger than the corresponding high load time
indicate low-load throttling, which can adversely affect small query / concurrent performance.
This machine's high load time: 67 microseconds.
This machine's low load time: 64 microseconds.
このテストは、2.67 GHz プロセッサのシステムで実行されたため、リアル タイムは許容範囲です。 負荷が高い時間と負荷が低い時間の差異は、許容範囲内です。
このユーティリティの詳細については、Vertica のドキュメントを参照してください。
vioperf
このユーティリティは、ディスクの入出力(I/O)のパフォーマンスをテストします。 このユーティリティでは、一連の読み取りと書き込みが実行されます。
ディスクまたは VM ディスクに同じ SAN/NAS を使用している場合に読み取り/書き込み速度を計測するには、データまたはカタログ ディレクトリに対して、同時にクラスタのすべてのノードで vioperf を実行する必要があります。
以下の手順に従います。
  1. 各 Data Repository ノードで以下のコマンドを実行します。
    ./vioperf /
    data
    > /tmp/vioperf.out --duration=60sec
    /data
    は、データ ディレクトリの完全パスです。
    ./vioperf /
    catalog
    > /tmp/vioperf.out --duration=60sec
    /catalog
    は、カタログ ディレクトリの完全パスです。
  2. 書き込みおよび読み取りのカウンタ値がコアあたり 40 MB/秒以上であることを確認します。
    推奨される I/O は、各ノードの物理コアあたり 40 MB/秒です。 たとえば、2 つのハイパースレッドおよび 6 コアの CPU (12 の物理コア)を持つノードに推奨される I/O レートは、480 MB/秒です。
    [スレッド数]
    列に値「1」が表示される場合、ユーティリティはコア数を特定できません。 ユーティリティを実行するコマンドに、以下の引数を追加します。
    --thread-count=
    CORES
    CORES
    は、システム内のコア数を固定整数として定義します。
例:
以下の例は、データ ディレクトリに対するこのユーティリティからの戻り値を示しています。
The minimum required I/O is 20 MB/s read and write per physical processor core on each node, in full duplex i.e. reading and writing at this rate simultaneously, concurrently on all nodes of the cluster. The recommended I/O is 40 MB/s per physical core on each node. For example, the I/O rate for a server node with 2 hyper-threaded six-core CPUs is 240 MB/s required minimum, 480 MB/s recommended.
Using direct io (buffer size=1048576, alignment=512) for directory "/drdata"
test | directory | counter name | counter value | counter value (10 sec avg) | counter value/core | counter value/core (10 sec avg) |
thread count
| %CPU | %IO Wait | elapsed time (s)| remaining time (s)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Write
| /drdata | MB/s | 873 | 873 |
54.5625
| 54.5625 | 16 | 29 | 40 | 10 | 5
Write
| /drdata | MB/s | 868 | 865 |
54.25
| 54.0625 | 16 | 28 | 30 | 15 | 0
ReWrite | /drdata | (MB-read+MB-write)/s| 275+275 | 275+275 | 17.1875+17.1875 | 17.1875+17.1875 | 16 | 13 | 21 | 10 | 5
ReWrite | /drdata | (MB-read+MB-write)/s| 242+242 | 178+178 | 15.125+15.125 | 11.125+11.125 | 16 | 7 | 17 | 15 | 0
Read
| /drdata | MB/s | 735 | 735 |
45.9375
| 45.9375 | 16 | 11 | 23 | 10 | 5
Read
| /drdata | MB/s | 786 | 786 |
49.125
| 49.125 | 16 | 26 | 25 | 15 | 0
SkipRead | /drdata | seeks/s | 4511 | 4511 | 281.938 | 281.938 | 16 | 14 | 19 | 10 | 5
SkipRead | /drdata | seeks/s | 4477 | 4407 | 279.812 | 275.438 | 16 | 3 | 15 | 15 | 0
このサーバのコア数は 16 です。 読み取り/書き込みカウンタ値は、I/O がコアあたり 40 MB/秒を超えていることを示します。
このユーティリティの詳細については、Vertica のドキュメントを参照してください。
vnetperf
このユーティリティは、 Data Repository ホストのネットワーク パフォーマンスをテストします。 このユーティリティは、TCP と UDP のプロトコルについて、ネットワーク遅延およびスループットを測定します。
このユーティリティを実行すると、ネットワークの負荷が高くなり、データベースのパフォーマンスに影響します。 データベースの実行中は、このユーティリティを実行しないでください。
以下の手順に従います。
  1. ノード間でパスワードのない ssh を使用するユーザとしてログインします。
  2. Data Repository ノードの
    いずれか
    で以下のコマンドを実行します。
    ./vnetperf --hosts
    DAhost
    ,
    DRhost1
    ,
    DRhost2
    ,
    DRhost3
    > /tmp/vnetperf.out
    Data Aggregator ホストおよび各 Data Repository ホストのホスト名または IP アドレスを指定します。
  3. ネットワーク パフォーマンスが以下の要件を満たしていることを確認します。
    • ラウンドトリップ時間(RTT)遅延が 200 マイクロ秒以下
    • クロック スキューが 1 秒未満
    • スループットが 800 MB/秒以上
      このユーティリティでは、一連のスロットル テストを実行します。 最高速度のテストのスループットを確認します。
このユーティリティの詳細については、Vertica のドキュメントを参照してください。