ヘッダーをスキップ
Oracle® GoldenGate Veridataユーザーズ・ガイド
12c (12.1.3)
E59464-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

5 パフォーマンスのチューニング

この章では、Oracle GoldenGate Veridataのパフォーマンスを改善する方法について説明します。

5.1 Oracle GoldenGate Veridataのパフォーマンスの改善

Oracle GoldenGate Veridataのパフォーマンスに影響する要因、および大容量のデータを処理する場合にパフォーマンスを改善できる方法は次のとおりです。

データベースおよびネットワークの使用

Oracle GoldenGate Veridataの2つの重要なパフォーマンス要因は、次のとおりです。

これらのパフォーマンス要因のパフォーマンス統計は、終了した比較ごとに比較レポートに出力され、ソースおよびターゲット(「構成レポートの使用」を参照)の初回比較手順に対して記録されます。

ネットワークの使用

Oracle GoldenGate Veridataは、効率的なデータ転送にハッシュおよびネットワーク・メッセージ圧縮を使用することで、ネットワークの使用を自動的に最適化します。表またはファイルの平均行のサイズ(バイト)が増加すると(bytes/rowパフォーマンス統計を参照)、ハッシュで達成される圧縮率も増加します(rh bytes/rowおよびhash comp rateパフォーマンス統計を参照)。行が50バイトか1000かに関係なく、非キー値を表す場合に使用されるバイト数は12になります。そのため、表サイズの割合(バイト)が大きい行では、ネットワークを効率的に使用する傾向があります。これらと同じ理由で、行サイズに対してキー・サイズが小さいと、ネットワークの使用が効率的になります。

また、NonStopプラットフォームでは、送受信のTCP/IPバッファ・サイズをチェックします。これらは、32K (Oracle GoldenGate Veridataの場合)に設定するようにしてください。

データベース・アクセス

デフォルトでは、Oracle GoldenGate Veridataは比較対象のデータのソートにデータベースを使用します。次の要因は、データベースのソート・アルゴリズムのパフォーマンスに影響します。

テストの実行後、比較のパフォーマンスに満足いかない場合、サーバー側のソート(Oracle GoldenGate Veridataサーバー自身がソートを実行)を使用すると速くなる可能性があります。

構成オプション

比較パフォーマンスの改善で考慮できるその他の要因は次のとおりです。

大きい表のパーティション

大きいソースおよびターゲット表は、異なる行サブセットに関連付けられている行パーティションに分割できます。行パーティションでは、データのセットを並行して処理できるため、処理の時間を抑えることもできます。たとえば、一方のパーティションを今日比較し、もう一方のパーティションを明日比較できます。また、サブセット比較の結果から、表全体の同期ステータスを確認できます。

列の除外

変更されないことが確認できる列が表に含まれている場合、またはそれらの列が同期しているかどうか重要でない場合は、それらの列を比較から除外することで、処理負荷を軽減できます。列は、比較ペアの作成または編集時に除外できます。

デルタ処理の使用

デルタ処理(Oracle GoldenGate Veridataで使用され、表またはファイルのすべての行ではなく、変更されたデルタ・ブロックのみを比較するパフォーマンス機能)を使用するように、EnscribeおよびNonStop SQL比較ペアを構成できます。

データベース・トランザクション分離レベルの変更

各Oracle GoldenGate Veridataエージェントでは、環境パラメータを格納するインストール・フォルダのルートに、agent.propertiesファイルがあります。これらのパラメータの1つは、database.transaction.isolationです。このプロパティでは、初回比較手順の実行中に使用されるトランザクション分離レベルを制御します。SQL ServerおよびTeradataのデフォルト値はREAD_UNCOMMITTEDです。つまり、行を選択するために発行される問合せは、他のトランザクションによって変更された行を読み取ることができますが、まだコミットされていません(ダーティ読取り)。他のトランザクションがデータを変更できないように共有ロックを発行したり、他のトランザクションのロックによってロックされることもありません。

READ UNCOMMITTEDオプションを使用する利点では、ロックによって影響されないため、データの初期読取りが高速になることです。これの悪影響は、(トランザクションの間にデータが変更される場合があるため)多くのレコードがpossibly out-of-syncとしてラベル付けされる可能性があり、確認手順で再度の比較が必要になることです。確認手順で比較する行が多すぎると考える場合は、プロパティ・ファイルを編集して、database.transaction.isolationをCOMMITED (コミットされたレコードのフェッチのみを許可)に設定できます。読取り一貫性を維持するために、ロックの影響により初回比較手順が遅くなる可能性よりも、改善する方を重視する必要があります。


注意:

(この段階では、ダーティ読取りが許可されないため、Oracleでサポートされている値はREAD_COMMITTEDのみで、確認手順では常にREAD_COMMITTEDが使用されます。)


プロファイル・オプション

パフォーマンスの改善に役立つ初期および確認手順の特定のパラメータを制御できます。

初回比較手順のパラメータ

確認手順のパラメータ

接続手順

フェッチされる行のバッチ・サイズを増やしてスループットを上げてください。これを行うには、初期および確認手順の「Initial Compare Fetch Batch Size」パラメータのサイズを増やします。

5.2 パフォーマンス統計

Oracle GoldenGate Veridataパフォーマンスの最も重要な2つの側面は、データベース・アクセスとネットワークの使用です。これらの側面の両方のパフォーマンス統計は、実行した比較ごとに比較レポートに出力され、ソースおよびターゲット・システムの初回比較手順に対して記録されます。これらの統計の説明は次のとおりです。これらの統計の結果に応じて、データベース・アクセスとネットワークの使用を最適化する方法があります。

rows

データベースからフェッチされる行数。

duration

フェッチされる行の処理にかかる時間。

rows/sec

1秒当たりの処理行数。

row bytes

処理されたバイトの合計数。

row bytes/sec

1秒当たりの処理行数(バイト)。

bytes/row

ハッシュおよび圧縮前の行の平均サイズ。

rh bytes/row

ハッシュの適用後の行の平均サイズ。

time until first row

行ハッシュ問合せの開始から、問合せで最初のレコードが返されるまでの時間(秒)。時間が長い場合は、最初の行が返される前に表をソートする必要がある可能性があります。

ipc msgs

サーバーとエージェントのプロセス間のメッセージの数。

ipc bytes

サーバーとエージェントのプロセス間で転送されるバイト数。

bytes/msg

圧縮の適用前のメッセージ当たりのバイト数。

bytes/sec

圧縮が適用される前に、サーバーとエージェントのプロセス間で転送された1秒当たりの有効バイト数。