パラレルDDLでは副問い合わせを含む表の作成、索引の作成などをパラレル化できます。今回は、更新日列を月単位でレンジ・キーとしてレンジ・パーティション化した売上実績に対してパラレル索引作成を実施し、並列度を4、8、12、24と変化させて応答時間を計測しました。
図7のように、パラレル索引作成では並列度4以降はあまり変化がなく、最大2.8倍のレスポンス向上を確認できました。パラレル・クエリとは異なった傾向を示しています。
パラレル・クエリではCPUリソースをより多く利用することが処理時間の短縮につながっていましたが、パラレルDDLでのCPUリソースの利用状況を確認すると、図8〜11のように、処理をパラレル化することでCPU使用率は上昇しますが、同時にディスクI/Oがネックとなり、CPUリソースを使い切れない状態となることが確認できました。
また、図12のようにOracleの待機イベントでも「direct path read temp」「direct path read」「direct path write temp」が増加しており、ディスクへのI/O待ちが原因で処理が滞っていることが分かります。
索引作成では既存の表からのデータの読み込み、ソート処理での一時表への読み込み書き込み、索引データの書き込み処理が実施されます。今回は15本のディスクをRAID0として1つのRAIDグループにまとめているため、索引作成時の読み込み、書き込みのI/O分散が実施できていないことが大きな原因だと思われます。
Copyright © ITmedia, Inc. All Rights Reserved.