2007年4月15日

[Namazu-devel-ja 1566] Re: hash の負荷軽減

寺西です。

Yukio USUDA wrote:
>
> 古めの環境で問題がないのであれば、修正しても大丈夫そうですね。

そうですね。
もう少しテストをしてコミットしてみようかと思います。

(メモリ消費量は増えるのですが、現在のマシンスペックだとそのことは
大きな問題ではないでしょう。)

> メモリはどの程度ありますか。
> 私はこれより低い環境のパソコンもときどき使っています。

メモリは128MB積んでいます。たぶん7年以上前の環境だと思います。
個人ではこれより古いマシンを使われている方もいらっしゃるかもしれ
ませんが、企業だとリースが切れているのでもっと性能が高いものに
置き換わっているでしょう。

現在のパソコンのスペックだとCPUは2.0GHz〜4.0GHzでメモリ2GBぐらいから
が普通でしょうか。

レンタルサーバだとちょっと古めで、企業向けならCPU1.0GHz〜、メモリ
256MB/512MB〜ぐらいのスペックからではないかと思います。
個人向けのレンタルサーバだとCPU性能はともかくメモリはlimitかけられ
ていて少なめかもしれません。(が、そんな環境では1万件も文書は扱わ
ないだろう。)

以上のような推測を立てているので、たぶん私の環境が最も低い部類に
なると思います。

なお、Namazu 2.X は確か64MBのマシンを基本で考えられていたかと思う
ので、今となっては随分とスペックの低いマシンが前提となっています。

> > 4) 修正内容
> >
> > 修正(SD) は前回のもの
...
> > %PhraseHashLast, %KeyIndexLast をインデックスの書き出しの度に
> > クリアしないように修正したもの
> >
> SDからSEの変更によって
> mknmz::get_last_docid
> mknmz::adjust_first_docid
> が上位に現れなくなっていますね。

詳細も差分も示していなかったのですが、これらは呼び出さないように
していますので、当然現れなくなります。

> %PhraseHashLast, %KeyIndexLast をクリアしないと
> これらの処理が減るのですね

はい。クリアせずに上記2つの関数を呼ばないように修正することで、
メモリ消費量は増えますが速度が向上します。

> できあがるインデックスには違いがでないのでしょうか。

はい。もちろん出来上がるインデックスはまったく同じです。

> > 5) 結果
> >
> > $ON_MEMORY_MAX|インデックス| SA SD SE
> > |書き出し回数|
> > --------------+------------+---------------------
> > 50000000 | 1 | 0.825 0.678 0.700
> > 5000000 | 7 | 1.000 0.815 0.761
> > 500000 | 65 | 1.971 1.840 1.388
> > 50000 | 613 | 9.357 9.355 7.500
> >
> [SA4] [SD4] で違いがなくなってしまうのは残念ですが、
> SE の修正の効き目が大きいですね。

SE の修正はインデックスの書き出し回数が多いと効果がでますので、
インデックス書き出しがいかに負荷の高いものかがわかります。

もっとも613回もインデックスを書き出すのは(運用環境では気づかず
起こっていることも多いとは予想できますが)利口ではないので、
実メモリを増やすことも検討した上で$ON_MEMORY_MAX を修正する
べきでしょう。

SD,SEの修正で全体のパフォーマンスが上がれば、DBを使うように修正した
場合の速度低下もある程度抑えられるのではないかと思います。
(DBを使えば、メモリの問題も解決できるし、取り扱うデータサイズの
制限も緩和されるので。)

> HTML,PDF,Word,Excel,PowerPoint,一太郎はテキスト量のわりにファイルサイズが
> 大きいので $ON_MEMORY_MAX が本来の必要以上に働いてむだに書き出し回数
> が増えている可能性があります。SDからSEへの修正が効くでしょう。

はい。その通りです。

> $processed_files_size ではなく、$processed_text_size という変数を設けて
> $ON_MEMORY_MAX と比較するようにするほうがファイル種別が多様な
> 際に合っているのかもしれません。

そう思います。
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI) yw3t-trns@xxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint = 474E 4D93 8E97 11F6 662D 8A42 17F5 52F4 10E7 D14E

_______________________________________________
Namazu-devel-ja mailing list
Namazu-devel-ja@xxxxx
http://www.namazu.org/cgi-bin/mailman/listinfo/namazu-devel-ja

投稿者 xml-rpc : 2007年4月15日 22:00
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/57262
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。