この記事では、データベースのパフォーマンスを監視し、調整する様々な方法やツールについて解説します。
パフォーマンスチューニングの方法
データベースのパフォーマンスチューニングは、多くの領域における高度な技術が求められるプロセスです。データベースのパフォーマンスチューニングで考慮すべき技術領域は以下の通りです。
アプリケーションの観点:
- 適切なSQL文の記述
- 表やキー、アクセスパスの設計
- 不要なロックの排除
- 適切なセッション管理
- 処理に大量のリソースを要する機能の検討
Oracleデータベースの観点:
- メモリのサイジング
- その他の初期パラメータ設定
- データベース構成ファイルの配置
- 索引の追加
OS、ストレージなどの観点:
- I/O帯域(ディスク性能)の確保
- メモリー、CPUのサイジング
- 適切なカーネルパラメータの設定
ボトルネックの特定およびチューニングに役立つOracleの機能
Oracleは診断機能が充実しています。適切にツールを活用することで、ボトルネックを特定してチューニングを施すことができます。
各種統計値
動的パフォーマンスビュー(V$ビュー)から実行回数、サイズ、所要時間などの観点から異なる多くの統計値を確認することができます。
統計値関連ビュー:
| ビュー | 説明 |
| V$SYSSTAT | インスタンス全体の統計値を確認できる |
| V$SESSTAT | セッション単位の統計値を確認できる |
| V$SERVICE_STATS | データベースサービス単位の統計値を確認できる |
待機イベント
セッションが待機した時に、その理由や時間、回数が記録されます。
時間モデル統計
時間モデル統計は、「時間(処理時間)」という観点で分析を実行できる統計であるため、ボトルネックの判断が容易にできます。例えば、本来1秒未満で終了すべき処理に1.5秒かかった場合はボトルネックがあるとすぐに判断できます。
時間モデル統計は、「アプリケーション処理に要する時間」に対応する統計としてDB時間を提供します。