« FreeBSD 6.0にアップデートする際の注意点 | メイン | 夢のバケツプリン »

[ MovableType ] MySQLテーブルの最適化

自宅サーバの強みで設定を好きにいじれるので、使用するメモリ量などを増やしてみたりはしたのだが、いまいち体感するほど効果がでていない。
搭載メモリが小さいので思い切った設定ができないせいだろう。
仕方が無い。地道にコツコツと性能を稼ぐしかなさそうだ。

なので、まずはDBテーブルの最適化から。
インデックスの最適化は

myisamchk -r /DBの格納パス/*.MYI
でいけるのだが、これだけではイマイチ実感が得られない。
MySQLのリファレンスマニュアルによると、myisamchkの-Rオプションを使用すると
インデックスに従ってレコードをソートする。このソートにより、データが整理され、このインデックスでの SELECT や ORDER BY の処理速度が速くなる
ということなので、手元環境のMT用DBディレクトリ内に存在した以下のテーブルにこれを試してみた。
mt_author, mt_blog, mt_category, mt_comment, mt_entry, mt_fileinfo, mt_ipbanlist, mt_log, mt_notification, mt_permission, mt_placement, mt_plugindata, mt_session, mt_tbping, mt_template, mt_templatemap, mt_trackback


行った手順は以下の通り。もっとスマートなやり方があると思うが、そこは気にしない方向で。

  1. Apacheを停止
    作業中にコメントやトラックバックを送られても困るので、念のため停止してみた。
  2. MySQLを停止
    これは当然。
  3. myisamchkを実行
    こんな感じ
    /usr/local/bin/myisamchk -R 1 /MT用DBディレクトリ/mt_author
    で、全テーブルを処理。
    指定するインデックスは1(PRIMARY)で良いと思う。
  4. MySQLを起動
  5. Apacheを起動

ベンチマークを取っていないので具体的な効果を数値化できないが、なんとなく早くなった気はする。

投稿者 Kobito : 2005年11月12日 18:07

このエントリーのトラックバックURL

トラックバックはご自由にどうぞ。報告は不要です。

http://kobito.dnsalias.com/kobito/mt/mt-application/mt-tb.cgi/209

このエントリーへのコメント

hi good site thanks http://peace.com

投稿者 Gabbyy : 2009年01月21日 19:53

[b]My best private site[/b]
http://inoffensiveg.comoj.com/map.html

投稿者 RussianGirl : 2009年01月28日 08:21

Qr5hey

投稿者 Hyxdipul : 2009年07月16日 11:37

コメントしてください

ご感想など残してもらえると励みになります




保存しますか?