Namazu-users-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 随時、インデックスの作成をしたい。



寺西です。

Mikio Nakamura wrote:
> 
> >なぜ、そんなことをしたいのでしょう。
>
> >ファイルが追加されたり、更新された度に mknmz を実行していたのでは
> >パフォーマンスが非常に悪くなると思いますが。
> >
> ファイルの追加や更新は間隔にものすごくバラ付きがあるんです。
> そのわりに、(namazuからの)参照にはその時点での最新情報が
> 要求されているのでこう考えてみました。

そういう要求には Namazu は向きません。
インデックスの更新にかかる負荷は比較的高いので、インデックスの更新
にはある程度の処理時間が必要なシステムです。

その処理時間のために、
あるファイルを更新したタイミングで mknmz を実行し、その mknmz 
が実行中に別のファイルを更新した場合に、次の mknmz を実行しても
希望通り動作しません。(インデックス更新中に更にインデックスの更新
はできない)
このため、先の mknmz が終わるのを待って、次の mknmz を実行するか、
先の mknmz を強制終了させて、次の mknmz を実行するかといった
処理が必要になります。(待ち行列とかの処理ですね)
これについては何の用意もありませんので、まじめにやるには、
そういう仕組みを自作する必要があります。

# そもそも、ファイルが追加されたり、更新されたという情報をどうやって
# 取得するかという方法も問題ではありますが。

更新対象のファイルがない場合の mknmz の負荷はまだ比較的低いので、
(find でチェックするのと同程度でしょう。たぶん)
単純に cron で mknmz を実行する周期を短くするといった程度で、
十分なのではないかと思います。(総ファイル数が比較的少ない場合)
まぁ、1時間ぐらいなら、実用的なんではないかと思いますが。
# それでも、ファイルサーバの負荷は高くなってしまいますけど。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E