Katsuya Utada
utada****@themi*****
2007年 4月 25日 (水) 13:23:38 JST
お世話になっております
うただです
On Wed, 25 Apr 2007 11:24:49 +0900, Tetsuro IKEDA wrote:
|こんにちは。池田です。
|
|うたださん、追加情報ありがとうございます。
|
|なるほど、、、Handlerレベルでは同じ処理量みたいですね。
|また、IO処理が重いということでも無いようですね。
|
|たびたびすみません。「パソコン」以外の4文字のキーワードで、
|遅いキーワードはありますか?
|
|「パソコン」vs「パソ」のみに着目すると、
|フレーズ検索 vs 非フレーズ検索という面もありますので。
ご指摘ありがとうございます。
応答に30秒程必ずかかるキーワードは
「パソコン」のみでした。他のフレーズ検索は通常一秒以内に
レスポンスが帰ってきます。
なぜこのワードのみなのかは不明です。
他にもあるかもしれませんが、見つかりましたらご報告させていただきます。
|
|
|> 池田様
|>
|> お世話になっております
|> うただです
|>
|> 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/
|-----------------------------------------
|
|_______________________________________________
|Senna-dev mailing list
|Senna****@lists*****
|http://lists.sourceforge.jp/mailman/listinfo/senna-dev
|
---
Katsuya Utada <utada****@themi*****>