新城@筑波大学情報です。こんにちは。

MacOSX Server で (ソースからコンパイルした) Apache を動かし
ています。時々、「http://host/~ユーザ名/」のように URL に「~」
が付く資源がアクセスできなくなります。つまり、getpwnam() ラ
イブラリ関数が働くなります。そんなに頻繁におかしくなるという
わけでもないのですが、時々起きて気が付かないのも問題ですし、
先日、1日に何度も起きて回復するのに面倒でした。

以前は回復するためにシステム全体を再起動していました。最近で
は、次のコマンドで Directory Service Cache を消すと回復する
ということがわかりました。

   # dscacheutil -flushcache

Apache httpd は、この後に apachectl stop; apachectl start で
再起動します。

Directory Service のキャッシュを消せば回復することからして、
原因は Directory Service のバグにあると言えます。これに関連
して、何か情報ありませんか。バグの修正、バグの回避策、問題の
発生する頻度を抑える方法等です。

Directory Service は、Linux で動いている OpenLDAP を参照して
います。こんな感じ。
------------------------------------------------------------
$ dscacheutil  -configuration
DirectoryService Cache search policy:
    /Local/Default
    /BSD/local
    /LDAPv3/サーバ名1
    /LDAPv3/サーバ名2

...
$ 
------------------------------------------------------------
MacOSX Server のバージョンは、10.6.4 です。Apache は、2.2.15 
です。

問題が生じる頻度からすると、なんらかの並行プログラムの競合状
態になっているんじゃないかと疑っています。どこかのロックのか
け忘れとか。

Web サーバの監視ツールを入れた方がいいかなあ。何がいいですかね。

\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報       \\