Tetsuro IKEDA
te.ik****@jpta*****
2007年 4月 25日 (水) 11:24:49 JST
こんにちは。池田です。 うたださん、追加情報ありがとうございます。 なるほど、、、Handlerレベルでは同じ処理量みたいですね。 また、IO処理が重いということでも無いようですね。 たびたびすみません。「パソコン」以外の4文字のキーワードで、 遅いキーワードはありますか? 「パソコン」vs「パソ」のみに着目すると、 フレーズ検索 vs 非フレーズ検索という面もありますので。 > 池田様 > > お世話になっております > うただです > > On Tue, 24 Apr 2007 19:44:21 +0900, Tetsuro IKEDA wrote: > |こんにちは。池田@tritonnプロジェクトです。 > | > |うたださん、情報ありがとうございます。 > |よろしければ以下についてもいただけないでしょうか? > > ご指摘ありがとうございます。 > こちらで特定のキーワードで遅い場合の値を取って見ました。 > > |- show statusで得ることができる"Handler_XXX" (XXXにはHandler API > |の名前が入る)の値が、遅いキーワードと速いキーワードでそれぞれ > |どのようになっているか。 > |# 投げる前にflush statusを実行して値をクリアして取得してみてください。 > > # 遅いキーワード実行時のステータス > mysql> flush status; > Query OK, 0 rows affected (0.00 sec) > > mysql> select count(*) from sitest where match(keywords) against('パソコン'); > +-----------+ > | count(id) | > +-----------+ > | 278108 | > +-----------+ > 1 row in set (28.07 sec) > > mysql> show status like 'handle%'; > +----------------------------+--------+ > | Variable_name | Value | > +----------------------------+--------+ > | Handler_commit | 0 | > | Handler_delete | 0 | > | Handler_discover | 0 | > | Handler_prepare | 0 | > | Handler_read_first | 0 | > | Handler_read_key | 0 | > | Handler_read_next | 278109 | > | Handler_read_prev | 0 | > | Handler_read_rnd | 0 | > | Handler_read_rnd_next | 0 | > | Handler_rollback | 0 | > | Handler_savepoint | 0 | > | Handler_savepoint_rollback | 0 | > | Handler_update | 0 | > | Handler_write | 14 | > +----------------------------+--------+ > 15 rows in set (0.00 sec) > > # 速いキーワードの時のステータス > mysql> flush status; > Query OK, 0 rows affected (0.00 sec) > > mysql> select count(id) from sitest where match(keywords) against('パソ'); > +-----------+ > | count(id) | > +-----------+ > | 278229 | > +-----------+ > 1 row in set (0.07 sec) > > mysql> show status like 'handle%'; > +----------------------------+--------+ > | Variable_name | Value | > +----------------------------+--------+ > | Handler_commit | 0 | > | Handler_delete | 0 | > | Handler_discover | 0 | > | Handler_prepare | 0 | > | Handler_read_first | 0 | > | Handler_read_key | 0 | > | Handler_read_next | 278230 | > | Handler_read_prev | 0 | > | Handler_read_rnd | 0 | > | Handler_read_rnd_next | 0 | > | Handler_rollback | 0 | > | Handler_savepoint | 0 | > | Handler_savepoint_rollback | 0 | > | Handler_update | 0 | > | Handler_write | 14 | > +----------------------------+--------+ > 15 rows in set (0.00 sec) > > query_cacheは無効にして試しました。 > > | > |- 遅いキーワードの時のvmstat等によるリソースのボトルネック > 遅いキーワードselect時のvmstat > procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- > r b swpd free buff cache si so bi bo in cs us sy id wa > 1 0 32 1263552 18456 2441644 0 0 0 0 1005 11 25 0 75 0 > 1 0 32 1263552 18456 2441644 0 0 0 0 1003 8 25 0 75 0 > 1 0 32 1263488 18464 2441636 0 0 0 10 1007 15 25 0 75 0 > 1 0 32 1263488 18464 2441636 0 0 0 0 1003 10 25 0 75 0 > 1 0 32 1263424 18464 2441636 0 0 0 0 1003 9 25 0 75 0 > 1 0 32 1263424 18464 2441636 0 0 0 0 1003 9 25 0 75 0 > 1 0 32 1263360 18464 2441636 0 0 0 0 1003 8 25 0 75 0 > 1 0 32 1263360 18464 2441636 0 0 0 4 1005 11 25 0 75 0 > 1 0 32 1263296 18464 2441636 0 0 0 0 1003 9 25 0 75 0 > 1 0 32 1263296 18468 2441632 0 0 0 38 1021 11 25 0 75 0 > 1 0 32 1263296 18468 2441632 0 0 0 0 1003 9 25 0 75 0 > 1 0 32 1263232 18468 2441632 0 0 0 0 1003 9 25 0 75 0 > 1 0 32 1257344 18468 2441632 0 0 0 0 1003 10 25 0 75 0 > 0 0 32 1272256 18468 2441632 0 0 0 0 1005 11 20 0 80 0 > > 何もしていない時のvmstat > 0 0 32 1272232 18456 2441644 0 0 0 0 1003 9 0 0 100 0 > 0 0 32 1272248 18456 2441644 0 0 0 0 1003 9 0 0 100 0 > > CPU使用率以外はあまり違いがありませんでした。。 > 要望ばかりで申し訳ありませんが、よろしくお願いいたします・・。 > > | > |07/04/24 に Katsuya Utada<utada****@themi*****> さんは書きました: > |> お世話になっております > |> うただです > |> > |> |2ind機能はまだ未完成の部分がある&不具合があると認識しております。 > |> |こうした具体的な情報は非常にありがたいです。 > |> 2ind利用時のパフォーマンスに関してですが > |> 当方でもMySQL5.0.37+tritonn-1.0.2.mysql-5.0.37.senna-1.0.4(ngram) > |> の環境で、特定のキーワードで応答が極端に遅くなる場合があります。 > |> 2ind ON/OFF時でも応答時間に変化は見られませんでした。。 > |> 遅延の発生する条件が分かりませんが、 > |> 一応情報としてレポートさせて頂きます。 > |> > |> 安定性が上がったのは大変助かっております。 > |> 今後の改良に期待致しております。 > |> |mysql> show senna status\G > |> |*************************** 1. row *************************** > |> | Table: sitest > |> | Key_name: keywords > |> | Column_name: keywords > |> | Encoding: euc_jp > |> | Index_type: NGRAM > |> | Normalize: ON > |> | Split_alpha: OFF > |> | Split_digit: OFF > |> | Split_symbol: OFF > |> | Initial_n_segments: 512 > |> | Senna_keys_size: 4624378 > |> | Senna_keys_file_size: 113319936 > |> | Senna_lexicon_size: 2503513 > |> |Senna_lexicon_file_size: 67182592 > |> | Senna_inv_seg_size: 181833728 > |> | Senna_inv_chunk_size: 485888000 > |> > |> |mysql> select count(*) from sitest where match(keywords) against('コン'); > |> |+----------+ > |> || count(*) | > |> |+----------+ > |> || 371907 | > |> |+----------+ > |> |1 row in set (0.11 sec) > |> | > |> |mysql> select count(*) from sitest where match(keywords) against('パソコン'); > |> |+----------+ > |> || count(*) | > |> |+----------+ > |> || 278108 | > |> |+----------+ > |> |1 row in set (30.95 sec) > |> > > --- > Katsuya Utada <utada****@themi*****> > > _______________________________________________ > Senna-dev mailing list > Senna****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/senna-dev ----------------------------------------- Tetsuro IKEDA, te.ik****@jpta***** Kachidoki, Tokyo, Jpan http://www.scs.co.jp/mysql/ -----------------------------------------