2013年3月11日月曜日

負荷調査

システムが遅くなってくると、苦情として上がってくる。
経験的に、ある水準を超えると指数関数的に遅くなるようだ。

こちらが知りたいことは、いつ、どんな操作をしたときに、どのくらい遅いのか、
といった内容だが、上がってくるのは「なんか遅い」、という漠然としたものである。
致し方ない。

データベースアプリケーションの場合、ボトルネックとなる多くは
データベース周りであろう。

そこで、その調査方法をメモしておく。

・遅いSQLを特定

  アプリケーションを操作して特定する。
  v$sql などのビューから負荷をかけているSQLを割り出す

・実行計画を確認

 explain plan 、各種ツールによりSQLを実行し、確認する

・SQLの見直し、インデックスの調整

 キャッシュサイズを増やす。
 ハードを増強する。
 不要なデータを取得しているならば見直す。
 必要に応じて、適切なインデックスを追加する。

 (データを削除する。)

0 件のコメント:

コメントを投稿