ディレクトリ
Q: サブディレクトリ構造は何段階まで必要か?
たとえば、HTML 化された記事は、
次のような一段階の階層構造で置かれています。どうでしょう?
200201/msg○○.html
デフォルトは一段階を前提にしています。
現代の PC の性能なら、
ディレクトリ中に 1000 くらいのファイルがあっても
ほとんど瞬時に ls は返ってきますが、
10000 ともなるとちょっと考えます。
HTML 化されたファイルをおくサブディレクトリを 1000 ごとに用意すると、
たとえば spool/sub/file みたいにすると spool/ 以下の記事が 10^6 ( million )
くらいは、それなりのアクセス速度を保ちつつ格納できるはずです。
一つのMLで 100 万通は、なかなかいきません。
この予想は、悪くはないでしょう。
もう一段階いくと 10^9 くらいいきますが、
そこまで長くMLが続くことは少ない。
なお直接には関係ない議論ですが、
Maildir/ でも 100 万くらいで少しつらい。
二段階くらいにはしないといけない。
メールを 10,000 通ためる人が 100 人いるだけでもうだめ。
レシピ's
ディレクトリ名はどこに定義されていますか?
/usr/local/etc/fml/defaults/$VERSION/default_config.cf
にデフォルトの定義が書かれています。
各MLの config.cf で上書きも出来ます。
動作時に使っている値は fmlconf で表示させるとよいでしょう。
% fmlconf ML名 | grep _dir
これらの値を HOOK で使う際には config オブジェクトから取り出して下さい。
$_xxx_hook = q{
my $config = $curproc->config();
my $xxxdir = $config->get('some_where_dir');
... 略 ...
}