[groonga-dev,03151] Re: mroongaのウォームアップと範囲指定

Back to archive index

HAYASHI Kentaro hayas****@clear*****
2015年 4月 3日 (金) 16:59:08 JST


林です。

On Fri, 3 Apr 2015 15:54:34 +0900
Masato Shimada <cymba****@gmail*****> wrote:

> はじめまして、嶋田と申します。
> 
> MySQL+Tritonn+Sennaで構築したシステムの更新で
> Mroongaストレージモードへの移行をしています。
> 
> 構築途中で疑問点が2つあり、恐縮ですがこちらでご相談してもよろしいでしょうか。
> 
> 【1】
> 過去のメーリングリストでもgroongaで同様の質問がありましたが、
> サーバ再起動時などページキャッシュがクリアされた場合、
> ウォームアップ法としてインデックスファイルをcatする、
> という下記のような方法でよろしいのでしょうか。
> 
> cat *mrn* > /dev/null

妥当だと思います。過去の投稿でもそれで対応しているひとがいます。

参考: [groonga-dev,01505] FULLTEXT initializationについて
      http://sourceforge.jp/projects/groonga/lists/archive/dev/2013-June/001506.html

> 【2】
> また、日時での範囲指定を行った際、
> 前システムと比較して検索範囲が広くなるにつれて応答が遅くなるのですが、
> ストレージモードの動作としては仕様でしょうか?
> (全文検索時も日時範囲指定をすると範囲の広さに応じて遅くなります)
> 日時はUNIXTIMEをINT型で格納し、INDEXをはっています。
> 
> ラッパーモードのMyISAMで試した場合は、範囲の広さに関わらず
> 前システムと同様ほぼ0.01sec程度で返ります。
> 
> クエリ例
> 
> select ID from TABLE where DATETIME > 1400031915 order by DATETIME
> (desc|asc) limit 100
> →0.45 sec(Mroonga)
> 
> select ID from TABLE where DATETIME > 1270031915 order by DATETIME
> (desc|asc) limit 100
> →5.48 sec(Mroonga)

これは両方共、ストレージモードで試したらこの結果だったという例ですよね。
show profileでどこに時間がかかっていそうかってわかりますか?

参考: Mroonga 3.11に追加されるDATETIME型のORDER BY最適化
      http://tech.gmo-media.jp/post/69542751128/mroonga-311-new-optimization

↑は全文検索を含んでいるなどクエリの内容が違うやつなんですが、
show profileの例としてあげてみました。

> 開発中のシステム環境は以下のとおりです。
> 
> MySQL 5.6.23
> Mroonga 5.0
> CentOS 6.6
> レコード数1600万件ほど
> 
> 以上、ご教示いただければ幸いです。


-- 
HAYASHI Kentaro <hayas****@clear*****>




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