チューニングサイクル

チューニングサイクルについての解説

データベースのチューニング作業は一過性のものではなく、性能を維持管理する限りは継続して行うことが必要です。なぜならIT資源はデータ量の増加等日々変化しているので、性能も日々変化すると考えるのが妥当です

 

チューニングサイクルとは

データベースのチューニングとは、データベースの性能におけるボトルネックを見つけ出し、改善することで、性能を維持・向上することです。チューニングサイクルとはどういうものでしょうか?ボトルネックとは何らかの理由で処理が遅く、詰まった状態の部分を言います。チューニングは一度行えば終了ということはありません。さらにボトルネックは移動(変化)します。つまり問題の大きいボトルネックを改善すると、次に問題の大きいボトルネックが明らかになってくるからです。交通渋滞に似ています。一つの交差点の渋滞が解消されると、どこか次の交差点がボトルネックになるということです

 

チューニングの手順

データベースをチューニングする場合、次のような手順になります

1.目標(非機能要件)の確認

非機能要件の性能(レスポンス時間やスループット)を確認する。例えば、レスポンス時間が5秒以内等

2.現状の分析

現在の性能や環境(ハードウェア、ソフトウェア、アプリケーション等)の状況を確認します。Oracleチューニングの場合、AWRレポート、STATSPACK、アラートログ、トレースログ等で分析する

3.仮説の立案

現状分析の結果から、ボトルネック(問題)の仮説を立てる(いわゆる問題箇所のあたりを付ける)

4.対策の検討

そのボトルネック(問題)の根本原因を突き止める、対策を立てる

5.検証の実施

そのボトルネック(問題)の根本原因と解決策の技術的な検証をする

6.仮説検証の分析

ボトルネック(問題)の仮説が正しかったことを技術的な論点で分析、整理する

7.リスク分析

解決策が実現可能かどうかを検討し他に与える影響、リスクを分析します。リスクは発生確率と影響度によって、リスク保有、リスク転嫁、リスク低減、リスク回避に分類して分析する

8.改善提案

今までの経緯もあることから、それらを踏まえ分析結果を提案という形でまとめる

9.改善の承認

ステークホルダーに対して承認を得る

10.改善の実施

改善提案に基づいて改善を実施する(もしくは、担当部門で実施する)

11.改善結果検証・評価

仮説検証と同様のアプローチで検証し、結果を評価する

12.改善結果報告

仮説と実証について報告(レポート)を作成し報告する

このチューニングサイクルを問題ボトルネックがなくなるまで繰り返します

このサイクルは、チューニングだけではなく、問題解決のアプローチ全般に言えることです

dba
Author

dba