パラレル処理の有効性と落とし穴を検証するOracleパーティショニング実践講座(4)(3/4 ページ)

» 2007年03月05日 00時00分 公開
[岸和田隆アシスト]

パラレルDDLの検証

 パラレルDDLでは副問い合わせを含む表の作成、索引の作成などをパラレル化できます。今回は、更新日列を月単位でレンジ・キーとしてレンジ・パーティション化した売上実績に対してパラレル索引作成を実施し、並列度を4、8、12、24と変化させて応答時間を計測しました。

 図7のように、パラレル索引作成では並列度4以降はあまり変化がなく、最大2.8倍のレスポンス向上を確認できました。パラレル・クエリとは異なった傾向を示しています。

図7 「MP」ごとのパラレル索引作成におけるレスポンス効果の傾向(表サイズ:100Gbytes) 図7 「MP」ごとのパラレル索引作成におけるレスポンス効果の傾向(表サイズ:100Gbytes)

 パラレル・クエリではCPUリソースをより多く利用することが処理時間の短縮につながっていましたが、パラレルDDLでのCPUリソースの利用状況を確認すると、図8〜11のように、処理をパラレル化することでCPU使用率は上昇しますが、同時にディスクI/Oがネックとなり、CPUリソースを使い切れない状態となることが確認できました。

図8 索引作成:非パラレル・CPU使用率の推移 図8 索引作成:非パラレル・CPU使用率の推移
図9 索引作成:並列度4・CPU使用率の推移 図9 索引作成:並列度4・CPU使用率の推移
図10 索引作成:並列度12・CPU使用率の推移 図10 索引作成:並列度12・CPU使用率の推移
図11 索引作成:並列度24・CPU使用率の推移 図11 索引作成:並列度24・CPU使用率の推移

 また、図12のようにOracleの待機イベントでも「direct path read temp」「direct path read」「direct path write temp」が増加しており、ディスクへのI/O待ちが原因で処理が滞っていることが分かります。

 索引作成では既存の表からのデータの読み込み、ソート処理での一時表への読み込み書き込み、索引データの書き込み処理が実施されます。今回は15本のディスクをRAID0として1つのRAIDグループにまとめているため、索引作成時の読み込み、書き込みのI/O分散が実施できていないことが大きな原因だと思われます。

図12 「MP」ごとのパラレル索引作成時の待機イベントの傾向 図12 「MP」ごとのパラレル索引作成時の待機イベントの傾向

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。