Prev / Next

2006-12-09 / bsfilter高速化?[修行][Plamo]

mewでのbsfilterの使い勝手を調べていたら(X-spam-Flagの付いたメールに*マークだけを)
  http://www2b.biglobe.ne.jp/~caco/cf-t1.html
なページがあったので真似した。

2006/01/15(Sun)

    bsfilter自体は快調に動いているが,最近Spamデータベースが充実するにつれ,非常に遅くなってきた.メールが100通以上溜まっていると,処理するのに5分以上かかる.どうもsdbm/gdbmが遅いようだ.データベースは全部で32MBほどしかないのに困ったものだ.根本的にはPostgreSQLなどの本格的なDBを使うようにすれば解決するのだと思うのだが,そこまでする時間がないので,安直にSpamデータベースをRAMに置くことにした.まず,.bsfilterをシンボリックリンクに置き換える.

    cd
    mv .bsfilter .bsfilter.back
    ln -s /mnt/tmpfs/.bsfilter .

    rc.localに以下を設定.

    mount -t tmpfs -o size=64m /dev/shm /mnt/tmpfs
    cp -p /home/t-ishii/.bsfilter.back/* /mnt/tmpfs/.bsfilter &

    次にcrontabを設定して5分毎にRAM上の内容がHDDにバックアップされるようにする.

    0-55/5 * * * * /usr/bin/rsync -a /mnt/tmpfs/.bsfilter/* /home/t-ishii/.bsfilter.back

    これでだいぶ快適になった.

/etc/rc.d/rc.localは ちょっと変更を多くしたような気が。。
なんだかcronもどうにかしないと。
ついでにcrondのloglevelも変更

すごくbsfilterの動作が軽くなりました!