パフォーマンス・チューニング
コンサルティング・サービス

[事例002]
大手損保会社 様

夜間処理を3時間短縮、サービス開始時間の遅延を解消。大手ITベンダーが踏み込みたがらないSQLと運用のチューニングを実施。

99027142_72B.jpg

ご相談に至る経緯

夜間処理の遅延が日中業務に支障をきたす

データマート系システムにて夜間バッチ処理の遅延が慢性化し、ピーク時には13時間以上を要していました。サービス開始時間が遅延することで日中の円滑な業務運営に支障が出ていました。

お客様の対応

大手ITベンダーでも根本的な解決には至らず

大手ITベンダーにパフォーマンス・チューニングを依頼し、ある一定の成果は得られたものの根本的に問題を解決するには至りませんでした。そこで、あらためて当社にボトルネック調査を依頼されました。

当社による診断

複合索引の更新負荷が足を引っ張る

大量データを保持するテーブルに対しDELETE/INSERT方式による更新ロジックが採用されていました。処理対象のテーブルに複合索引が含まれているため更新負荷の高い処理が行われており、ディスクI/Oがボトルネックになっていることが確認できました。また、ジョブフローと実行ログを見比べたところ、このようなジョブが同一時間帯に一斉に実行されていることも分かりました。

当社からの提案

SQLの組み替えとジョブフローの見直し

DELETE/INSERT方式による更新ロジックを採用しているジョブをリストアップし、MERGE文への組み替え案を提示しました。それから、ディスクI/Oの分散を図るため夜間バッチ処理のジョブフローの見直し案も併せて提示しました。

お客様の判断

当社の改善提案をもとにSQLの改修とジョブフローの見直しに着手されました。

結果

夜間バッチ処理を3時間近く短縮し、サービス開始時間の遅延問題を解消しました。

リスク回避の方法はお客様と相談

アプリケーションや運用に踏み込んだパフォーマンス・チューニングは、作業結果が及ぼす影響の範囲を十分に見極める必要があり、容易に手を出すことができません。そのため、よほど性能要件の厳しいシステムでもない限り、Oracle初期化パラメータやヒント句による実行計画の変更など、無難なパフォーマンス・チューニングにとどまることが多いようです。しかし、考え得るリスクをお客様に説明し、アプリケーションや運用に通じたご担当者と連携するなどして万全を期すことができるケースもあります。容易にハードウェアのリプレースを持ちかけるITベンダーも見受けられますが、ボトルネックを特定することなく、投資額に見合うだけのパフォーマンスを本当に保証できるのでしょうか。お客様の抱える問題を真摯に解決する姿勢としては疑問が残ります。