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

Back to archive index

yoku ts. yoku0****@gmail*****
2015年 4月 8日 (水) 19:44:49 JST


こんばんは、yoku0825です。

ざっと思ったことを試してみました。


* int型のカラムに1~100万までのレコードを突っ込む
* int型のカラムにはPRIMARY KEYが張ってある
* WHERE num < 100(戻すレコードが十分少ない) またはWHERE num > 100 (戻すレコードが十分多い) を実行してみる。

と思ったんですが、EXPLAINの段階で既にstatisticsに時間がかかるのが見えていました。

https://gist.github.com/yoku0825/7e0a67cce336a600b4e9#file-sleep

これ、MySQLから見るとoptimizingのために統計情報をストレージエンジンに要求するんじゃないかと *思う*
んですけど、Mroongaって結構頻繁に統計情報を計算したりして…いないですか?
(EXPLAINを連打すると速く返ってくるものの、しばらく置いてからEXPLAINするとまたstatisticsに時間がかかる)


yoku0825,

2015年4月8日 18:37 Masato Shimada <cymba****@gmail*****>:
> お世話になっております、嶋田です。
>
> インデックスについては問題なく使用されているように思います。
> ディスクIOとswapについても発生しているわけではなさそうなので、
> CPUの性能の問題でしょうか・・・
> CPUはIntel(R) Xeon(R) CPU E5-2630L v2****@2*****の6コア12スレッドでsarで確認した限り
> SQL実行中は1スレッド分のCPUが100%で動いています。
>
> explain、vmstat、show profileの結果は↓のようになりました。
>
> 日付(int)の範囲指定のみ
> https://drive.google.com/file/d/0B1BX-PVFKoh_SUFnd0ZzV1p5NUU/view?usp=sharing
>
> 全文検索(mediumtext)+日付(int)の範囲指定
> https://drive.google.com/file/d/0B1BX-PVFKoh_VnpNSXZvSlRTQVE/view?usp=sharing
>
>
>> 林です。
>
>
>>
>> うーん、statisticsとかが結構な割合を占めるというのは変な気もしますねぇ。
>> FULLTEXT initializationはMroongaが全文検索を頑張っている状態だったはずなので、
>> それが半分を占めていて重い、というならどっかしらボトルネックがないか
>> 順にみていくとよさそうです。
>> 1. インデックスをうまく使えていない
>>    これはなさそうな気がしたのですっとばして2.に進んだのですが、
>>    念のためexplainで期待通りにindex使えているかは確認したほうがいいかも知れません。
>> 2. show profileでどこに問題ありそうかみてみる(これは前回のメールで確認してもらったやつですね)
>>    参考: https://dev.mysql.com/doc/refman/5.6/en/general-thread-states.html
>> 3. CPUを使い切れていない or ディスクIOがボトルネックになっている
>>   vmstatのcpuとかswapあたりをみてみると何かわかるかも知れません。
>>    参考: http://www.fulldigit.net/content/view/54/6/
>>    CPU使用率が低くて頑張れていないのか、あるいはswapのsi,soが高めになっていないか、など。
>
>
>
>
> _______________________________________________
> groonga-dev mailing list
> groon****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev
>



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