Home » database » チューニングサイクル

チューニングサイクル

データベースのチューニングとは、データベースの性能におけるボトルネックを見つけ出し、改善することで、性能を維持・向上することです

チューニングサイクルとはどういうものでしょうか

ボトルネックとは何らかの理由で処理が遅く、詰まった状態の部分を言います

チューニングは一度行えば終了ということはありません

ボトルネックは移動します

つまり問題の大きいボトルネックを改善すると、次に問題の大きいボトルネックが明らかになってくるからです

交通渋滞に似ています

一つの交差点の渋滞が解消されると、どこか次の交差点がボトルネックになるということです

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

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

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

2.現状の分析
現在の性能や環境(ハードウェア、ソフトウェア、アプリケーション等)の状況を確認します

Oracleチューニングの場合、AWRレポート、STATSPACK、アラートログ、トレースログ等で分析します

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

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

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

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

7.リスク分析
解決策が実現可能かどうかを検討し他に与える影響、リスクを分析する

リスクは発生確率と影響度によって、リスク保有、リスク転嫁、リスク低減、リスク回避に分類してん分析します

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

9.改善の承認
ステークホルダーに対して承認を得る

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

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

12.改善結果報告
仮説と実証について報告(レポート)を作成し報告する

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

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