Katsuya Utada
utada****@themi*****
2007年 4月 25日 (水) 11:00:42 JST
池田様 お世話になっております うただです 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*****>