システムが遅くなってくると、苦情として上がってくる。
経験的に、ある水準を超えると指数関数的に遅くなるようだ。
こちらが知りたいことは、いつ、どんな操作をしたときに、どのくらい遅いのか、
といった内容だが、上がってくるのは「なんか遅い」、という漠然としたものである。
致し方ない。
データベースアプリケーションの場合、ボトルネックとなる多くは
データベース周りであろう。
そこで、その調査方法をメモしておく。
・遅いSQLを特定
アプリケーションを操作して特定する。
v$sql などのビューから負荷をかけているSQLを割り出す
・実行計画を確認
explain plan 、各種ツールによりSQLを実行し、確認する
・SQLの見直し、インデックスの調整
キャッシュサイズを増やす。
ハードを増強する。
不要なデータを取得しているならば見直す。
必要に応じて、適切なインデックスを追加する。
(データを削除する。)
0 件のコメント:
コメントを投稿