各務 洋
kagam****@outwa*****
2015年 10月 30日 (金) 21:52:20 JST
お世話になります、各務です。 色々といただいておりました点につきまして、ご返答させていただきます。 >> P.S >> 矢田さんの報告にある、これも気にはなっているのですが……。 >> https://github.com/groonga/groonga/issues/421 > > 解決しました! > > 特殊ケースに対する例外処理を追加することで解決できました. 矢田さん、ありがとうございます! 10月のリリースに入っている形でしょうか? >>> 頻繁に接続・切断を繰り返しているケースでは多少影響があると思 >>> いますが、多くの場合はそんなことをしていないと思うので性能へ >>> の影響は軽微じゃないかと思っています。 >> >> 私の環境では Web で使用しているので、接続・切断は頻繁で、接続したまま >> の方が少ないのです。 > > おぉ。。。 > ちなみに、1接続1SELECTとか1接続1INSERTみたいな感じですか? さすがにそこまで極端ではありませんが、Apache への 1 Request毎に接続は 発生し複数の SELECT を実行します。 Mroonga のテーブルが関わらない事はほぼ無いです。 Mroonga への INSERT / DELETE する接続はそれより少ないのですが、複数経 路からの同時アクセスもあります。 こちらは1回の処理が数分かかる事もあります。 > 同時接続数が少なければ影響は少ないと思いますが。。。 Yahoo! の Top に載ると、もう、それなりに……。 > お忙しいなか確認してもらってありがとうございます。。。! > 本当に助かっています! いえいえ、こちらこそいつも迅速にご対応いただき感謝しております! > http://packages.groonga.org/tmp/mysql-community-mroonga-5.10-1.el6.x86_64.rpm > > もう少しがんばればロックの範囲を狭くできるのですが、取り急ぎ > これで直りそうという変更をいれたので試してもらえると助かりま > す。 うーん、残念ながらダメなようです。 前回よりも良さそうな感のある挙動なのですが。 (ご懸念の通り、同時接続すると処理速度が落ちています……) どうも Auto repair が発動すると、mysqld が 再度 crash して、以降テー ブルを触りつづけている間、延々と crash し続ける挙動が見受けられます。 この挙動の際は stack trace も出ていないですが、grndb check によると、 Table is locked. が出続けています。 > これで解決するならもっとマジメに実装します。 もうちょっと不真面目なアプローチが必要なのかも知れないですね。。。 ---- 各務 kagam****@outwa*****