[groonga-dev,03454] Re: groonga-clientのタイムアウト値と、遅いクエリについて

Back to archive index

Hiroyuki Sato hiroy****@gmail*****
2015年 9月 2日 (水) 20:37:15 JST


須藤様

佐藤です。
ありがとうございます。

10倍から100倍速くなるとのことで楽しみにしております。
その間は、タイムアウトを長くして対応しています。

しかし、タイムアウトをすごく長く(10分)にしてもクライアントは
結果を取得できず、例外が発生してしまう現象が起こるようです。

クエリのログを見ると次のようなっているようです。

・クライアントサーバに問い合わせをする。
・クライアントはタイムアウトに達するまでクエリの結果を待つ。
・サーバはその間に同じクエリを二回実行する。
・サーバ上のクエリログでは検索が終わっていてクライアントに結果を返しているように見える。
・一方クライアントは結果を全て受け取っていないと見えてひたすら待ち続けタイムアウトが来るとタイムアウトする

詳しいログが採取したら改めてご報告いたします。


/path/to/groonga-client-0.1.8/lib/groonga/client/protocol/http/synchronous.rb:54:in
`rescue in send': Net::ReadTimeout (Groong
a::Client::Protocol::WrappedError)
        from /path/to/groonga-client-0.1.8/lib
/groonga/client/protocol/http/synchronous.rb:36:in `send'
        from /path/to/groonga-client-0.1.8/lib
/groonga/client/protocol/http/thread.rb:39:in `block in send'

よろしくお願いします。


2015年8月31日 23:54 Kouhei Sutou <kou****@clear*****>:
> 須藤です。
>
> In <CA+Tq-Rp3F0ZQP78NL1A-B4k=Z+Pqc8HsxQ6N-EmcJC_syOyu****@mail*****>
>   "[groonga-dev,03436] Re: groonga-clientのタイムアウト値と、遅いクエリについて" on Mon, 31 Aug 2015 09:27:07 +0900,
>   Hiroyuki Sato <hiroy****@gmail*****> wrote:
>
>> ところで、現状のキャッシュの仕組みについて教えて下さい。
>>
>> 1,2それぞれ正しいと思うのですが、2の検索結果を保有するのはどのぐらいの
>> 期間持っているのでしょうか?
> ...
>> 1, 同じ検索条件であれば、過去に検索したデータがOSのページキャッシュに乗り
>>  キャッシュに乗っている間は検索が速くなる。
>> 2, 一度検索した内容は、Groonga自身がキャッシュテーブル?を保有するので、
>>  再検索した場合には、検索結果をキャッシュから持ってくる
>>  (どのぐらいの間?)
>
> いわゆるLRU(Least Recently Used)で保有しているので、同じク
> エリーが何度もじっこうされるならそのキャッシュはずっと残って
> います。
>
> 一方、一回しか実行されないようなクエリーは一度キャッシュに載っ
> ても時期にキャッシュから落ちます。
>
> どのくらいで落ちるかというと、デフォルトだと最短で100リクエ
> スト後に落ちます。というのは、最新100件の結果だけをキャッシュ
> するようになっているからです。
>
> これは、cache_limitというコマンドで動的に変更できます。
>
> 参考: http://groonga.org/ja/docs/reference/commands/cache_limit.html
>
>> クエリのログを見たら下記のような動作をしているなと思ったので間違っている
>> かもしれません。
>
> あっています!
>
>> ちなみに今回の検索は同じ検索はあまりしないので、
>> 一回の検索がそこそこ速くなってくれる方がありがたいです。
>> 一時テーブルをメモリに書くなど
>
> 一時テーブルにはしませんが、一回の検索でも早くするようにしま
> す。手元で実験した感じでは10倍か100倍くらいには速くなります。
>
>> こちらで何かできることがあればおっしゃってください。
>
> 今のところ大丈夫です!
>
> 実装のアイディアが2パターンあるので、整理して森さんにどっち
> がいいですかねぇと聞こうと思っています。
>
> なので、私の空き時間ができれば進みます。。。
>
>
> PGroongaのリリースをして、今年のいい肉の日のGroongaイベント
> の会場が見つかってから、ですかねぃ。。。
>
>
> --
> 須藤 功平 <kou****@clear*****>
> 株式会社クリアコード <http://www.clear-code.com/>
>
> Groongaベースの全文検索システムを総合サポート:
>   http://groonga.org/ja/support/
> パッチ採用 - プログラミングが楽しい人向けの採用プロセス:
>   http://www.clear-code.com/recruitment/
> コードリーダー育成支援 - 自然とリーダブルコードを書くチームへ:
>   http://www.clear-code.com/services/code-reader/
>
> _______________________________________________
> groonga-dev mailing list
> groon****@lists*****
> http://lists.osdn.me/mailman/listinfo/groonga-dev



-- 
Hiroyuki Sato



groonga-dev メーリングリストの案内
Back to archive index