[mew-dist 20060] Re: 大量のメールを保存している場合のパフォーマンス改善について

Masachika ISHIZUKA ishizuka at example.com
2002年 1月 11日 (金) 13:17:03 JST


>|   毎日、1,000〜2,000通のメールを受信しているために、数万通の
>| メールがたまっているディレクトリが結構たくさんできてしまって
>| いるのですが、ファイル数が多くなるとパフォーマンスが著しく低
> 
> こっちは、OSがLinuxならXFSなどの新しいディレクトリ構造のをつかうと吉。
> FreeBSDならDIRHASHをonにしてやるといいとおもいます。
> NTはつかってないので想像ですが、そんなに遅くないはず。

  石塚@杉並です。

  鯉江様、鈴木様、メールありがとうございます。
  FreeBSD なので、UFS_DIRHASH は使っています。これが導入される
前に比べると確かに速くはなっているのですが、ファイル数が増えた
場合、パフォーマンスは目に見えて大幅に低下してしまいます。

>   | 下する上に emacs のメモリ使用量もどんどん増えてしまいます。
> 
> 増加分は.mew-cacheの大きさに比例するってことなら
> 避けようがありません。mew-scan-formを短めに設定するか
> スレッドをあきらめる代りにmsg-id:を記録しないようにするか
> msg-id:を記録する代りにmsg-id:のMD5を記録するようにするとか。

  なるほど、.mew-cache がボトルネックになっていたのかぁ。7 万通近
くたまっている Mail/freebsd-hackers/.mew-cache は 11MB あるので、
確かにこれが emacs のメモリ使用量を増やしている原因みたいです。

>|   一つのディレクトリにフラットに Mail/hoge/54321 等の名前でメ
>| ールを保存するのではなくて、Mail/hoge/5/4/54321 のようにサブ
>| ディレクトリを掘って一つのディレクトリに存在するファイル数を
>| 1,000 個程度に限定できるとかなりパフォーマンスが改善されるん
>| じゃないかと想像しているのですが、これを手作業で行うのは非常
> 
> 人間相手だと10万ファイルのディレクトリと100ファイルのディレクトリでは
> ちとおそいかな、くらいの違いしかないと予想します。
> ただ、pickやgrepしようとしたときには
> 全ファイルを相手にするので結構ちがってくると思います。
> #たぶんそんな無謀なことはしないとおもいますが。

  どうもファイル数ではなく、.mew-cache の大きさがネックみたいな
ので、確かにディレクトリ構造を変えても駄目かもしれませんね。

>| に面倒ですし、何か有効な方法をご存じのかたがいらっしゃれば是
>| 非教えてください。
> 
> mewがIMAP readyになって
> IMAPサーバがメイルの管理をかしこくやってくれれば
> mewががんばらなくてもよくなりますね。
> #そういうサーバがあるのかは知らないです

  IMAP サーバって、次世代 POP サーバ的にしか考えていなかったけど、
結構賢い管理をやってくれるのかぁ。
  メールはいつも ssh でログインして読んでたので、IMAP のことはあ
まり考えていませんでした。

| mew でやるのではなく、手前で 自動 refile していいなら、mailagent 使え
| ばできますよ。たぶん。
|
|# でも、石塚さんなら、自分でコードかいてでもやるだろうから、
|# これは解になってないんだろうなぁ(笑)

  inbox にためずに最初から refile しちゃえば、殆んどのメールはき
っと全く読まなくなっちゃうだろうなぁ。(inbox に入れてから分類し
てる今でも、あんまり読めてないのが現実ではありますが。)
  最近は、全然時間がなくて、自分でコード書くなんて全然できません。
仕事で何か集計したり加工する時に perl の script を書いて終わった
ら捨てちゃう程度です。



Mew-dist メーリングリストの案内