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/
-----------------------------------------