a person powered by ototoy blog

モヘンジョだろ!!

カレンダー

2010/2
7 8 9 10 11 12
14 15 16 18 19 20
21 22 23 24 25 26 27
28            
2010/3
  1 2 3 4 6
7 8 9 10 11 12 13

最近の記事

最近のコメント

月別アーカイヴ

カテゴリー

Blogを公開している友人

公開所属グループ

プロフィール

2010年 02月 24日

SQLチューニングのノウハウ  

PostgreSQLのエンジニアっぽい話です。俺的標準ではpg_logの下で1500ms以上かかったSQL分を時刻とかかかったduratioinとかと一緒にログに残すようにしてある。それをSQL文だけ取り出して、ページによって異なるID(数字)を全部Xに変えて(例えば654321はXXXXXXに)、その後パイプでsortしてuniq -cしてsortすると、あら不思議。時間のかかったSQL文がそのログを残した順にいい具合でグルーピングされて出力される。あとは一番数の多いやつからインデクス戦略を考え直したり、オプティマイザがアホなところをわざと分割したり、など、低コストなSQLにしていく。

しかし今日そういうことをやりかけたサービス(まあ、コソアンなのだがw)、は手強かった。いくらやっても次から次に重いクエリがドバーっと続く。いままでどんだけ重かったんだよ。まあ、4万の問いとその数百倍の回答と百万近いレスがあるんだもんなぁ。

今日のところは負荷耐性は上がったが、重くなる症状はユーザーから見ると改善とはほど遠いレベルにとどまった。重い時のロードアベレージは40くらいのまま。ちょっと悔しいけど、ぼちぼちやろうかと。

| Posted By nt 投稿日: 2010年2月24日 5時43分 更新日: 2010年2月24日 5時43分

コメント

トラックバック