[Senna-dev 578] Re: MySQL5.0でのパフォーマンス悪化 及び 2indパッチの不具合の件

Back to archive index

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




Senna-dev メーリングリストの案内
Back to archive index