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 >