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

Back to archive index

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




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