最近Movable Typeの管理画面に長時間アクセスできない事態が2度ほどあって、チカッパ!に問い合わせたところ、SQLiteのデータベースが122MBもあるのでその容量を軽減してほしいというアドバイスをいただきました。そこでさっそくスパムのコメントやトラックバックを削除したのですが、データベースのサイズはいっこうに減りません。
そこで調べていくうちに、「Naga BLOG: 削除や、スパムで肥大化したデータベースファイルを定期的にスリム化する『PeriodicVacuum Plugin』を入れてみました。」で紹介されていた「PeriodicVacuum_Plugin.ja_JP - Ogawa::Code - Trac」へたどりつきました。
前述の2サイトでの解説によると、SQLiteのデータベースはスパムのコメントやトラックバックを削除しても非使用領域が残り、データベースのサイズが小さくならない仕様になっているのだとか。驚きました。慢性的にスパムのコメントやトラックバック(特に後者)の襲来に悩まされている僕のブログは、それでは肥大するはずです。
そこでPeriodicVacuumプラグイン。PeriodicVacuum.zipをダウンロードし、解凍して中のPeriodicVacuum.plをMovable Typeのpluginsディレクトリにアップロードします。そしてパーミッションを755などに設定するだけ。非常に簡単です。これでエントリーやコメント、トラックバックを削除したタイミングで、1週間ごとに自動的にSQLiteのデータベースの非使用領域の解放操作をしてくれます。
さっそくスパムの削除をして、PeriodicVacuumプラグインが動くかを見てみました。しばらく待ってFTPで確認してみると、122,058,752Bあったデータベースが一気に5,701,632Bまで縮小しているじゃないですか。大丈夫なのかと思うほどの劇的な縮小ぶりです。
ちなみにこちらの人力検索はてなで紹介されているように、TkSQLiteというツールを使ってローカルで行う方法もあるようです。こちらの方法については、「SQLiteのサイズを小さくする。 : NOBODY:PLACE」で詳しく解説されています。
このエントリーのトラックバックURL : http://www.outdex.net/mt/mt-t-b.cgi/1855