ここでは、コネクション情報のモニタリングについて説明します。
コネクション情報は、以下のような場合に使用します。
アプリケーションとShunsakuとの接続状態を確認する
アプリケーションへの応答時間が一定時間を超えるコネクションの情報を収集する
どのアプリケーションからの要求に時間がかかっているかを分析する
コネクション状態は、conductorを配置しているサーバで、shuncstateコマンドにcオプションおよびtオプションを実行することにより取得できます。
例1
以下に、コネクション情報の表示例を示します。
shuncstate -s shunc -c Shunsaku shuncstate 2007/01/01 19:01:00 (1) (2) Client Application (3) (4) RequestType ShunsakuFile (5) (6) (7) QueryStarted QueryElapse(sec) Results (8) (9) Stage StageElapse(sec) (10) (11) (12) DirectorStarted DirectorEnded BusiestDirector (13) (14) (15) SorterStarted SorterEnded Sorter (16) Expression 192.168.0.1 Application2 SEARCH file1 19:02:53.340 6.660 DIRECTOR 4.060 19:02:53.950 SEARCH: /root/company/employee/name == 'tanaka' RETURN: /root/company/name/text() 192.168.0.2 Application1 DELETE file1 19:02:54.140 3.870 DIRECTOR 3.020 19:02:58.740 192.168.0.1 Application.PKG01 SORT file1 19:02:49.780 9.120 25 SORTER 1.130 19:02:50.330 19:02:56.740 shund1 19:02:57.080 shuno1 SEARCH: /root/company/id = 2000 SORT: rlen(/root/company/name/text(),16) RETURN: /root/company/name/text() 192.168.0.3 Application3 SEARCHKEY 19:02:54.335 0.001 DIRECTOR 0.000 19:02:54.335 SEARCHKEY: KEY1="20061101,00000001" RETURN: /
表示項目の説明を以下に示します。
表示項目 | 説明 |
---|---|
(1) Client | アプリケーションが動作しているホストのIPアドレス |
(2) Application | アプリケーションの名前 |
(3) RequestType | アプリケーションの要求種別
|
(4) ShunsakuFile | 接続先のShunsaku File名 |
(5) QueryStarted | クエリ発行時間(HH:MM:SS.mmm) |
(6) QueryElapse(sec) | クエリ発行からの総経過時間(秒) |
(7) Results | 検索結果件数 |
(8) Stage | 要求の処理段階
tオプションを指定した場合は、常に“IDLE”または“ERROR”と出力されます。 |
(9) StageElapse(sec) | 現在の処理段階に移行してからの経過時間(秒) |
(10) DirectorStarted | director処理開始時間(HH:MM:SS.mmm) |
(11) DirectorEnded | director処理終了時間(HH:MM:SS.mmm) |
(12) BusiestDirector | 最も時間を要したdirectorの識別子 |
(13) SorterStarted | sorter処理開始時間(HH:MM:SS.mmm) |
(14) SorterEnded | sorter処理終了時間(HH:MM:SS.mmm) |
(15) Sorter | ソート指定付き検索要求で使用されたsorterの識別子 |
(16) Expression | 検索要求の式(ダイレクトアクセスキー、検索式、リターン式、ソート式)
|
また、tオプションを使用することで、ある期間で実行されたクエリの情報を収集することもできます。
注意
ダイレクトアクセスキーの値が64KBを超える場合には、“SEARCHKEY”の表示において、すべての内容が表示されないことがあります。
例2
以下に、ある期間内で要求を受け付けたクエリのうち応答時間が3秒以上の要求に関するコネクション情報をテキストファイルへ出力する例を示します。
Windowsの場合
shuncstate -s shunc -t start -q 3 -o C:\shunwork\monitor\conection.txt shuncstate -s shunc -t end
Linux/Solarisの場合
shuncstate -s shunc -t start -q 3 -o /home/shunsaku/monitor/connection.txt shuncstate -s shunc -t end
-t start指定でコネクション情報の収集を開始し、-t end指定で収集を終了します。
connection.txtの内容
Client Application RequestType ShunsakuFile QueryStarted QueryElapse(sec) Results Stage StageElapse(sec) DirectorStarted DirectorEnded BusiestDirector SorterStarted SorterEnded Sorter Expression 192.168.0.1 application2 SORT file1 19:19:46.053 3.160 201 IDLE 0.000 19:19:46.091 19:19:47.133 shund1 19:19:47.134 19:19:49.211 shuno1 SEARCH: /document/base/prefecture == 'Nagoya' SORT: val(/document/base/price/text()), /document/base/in/text() RETURN: /document/base/name, /document/base/price, /document/base/in 192.168.0.2 application1 SORT file1 19:19:46.250 3.162 283 IDLE 0.000 19:19:46.252 19:19:47.333 shund1 19:19:47.334 19:19:49.411 shuno1 SEARCH: /document/base/prefecture == 'Tokyo' SORT: val(/document/base/price/text()), /document/base/in/text() RETURN: /document/base/name, /document/base/price, /document/base/in
例3
以下に、ある期間内で要求を受け付けたクエリに関するコネクション情報をCSV形式で出力する例を示します。
Windowsの場合
shuncstate -s shunc -t start -C -o C:\shunwork\monitor\conection.csv shuncstate -s shunc -t end
Linux/Solarisの場合
shuncstate -s shunc -t start -C -o /home/shunsaku/monitor/connection.csv shuncstate -s shunc -t end
-t start指定でコネクション情報の収集を始め、-t end指定で収集を終了します。
connection.csvの内容
"Client","Application","RequestType","ShunsakuFile","QueryStarted","QueryElapse(sec)","Results","Stage","StageElapse(sec)","DirectorStarted","DirectorEnded","BusiestDirector","SorterStarted","SorterEnded","Sorter","Expression" "192.168.0.1","application2","SORT","file1","19:19:46.053",3.160,201,"IDLE",0.000,"19:19:46.091","19:19:47.133","shund1","19:19:47.134","19:19:49.211","shuno1","SEARCH: /document/base/prefecture == 'Nagoya' SORT: val(/document/base/price/text()), /document/base/in/text() RETURN: /document/base/name, /document/base/price, /document/base/in" "192.168.0.2","application1","SORT","file1","19:19:46.250",3.162,283,"IDLE",0.000,"19:19:46.252","19:19:47.333","shund1","19:19:47.334","19:19:49.411","shuno1","SEARCH: /document/base/prefecture == 'Tokyo' SORT: val(/document/base/price/text()), /document/base/in/text() RETURN: /document/base/name, /document/base/price, /document/base/in"
1行目には項目名を出力し、2行目以降にコネクション情報を出力します。
1つのレコードの終端には改行コードが付加されます。
ポイント
CSVファイルには以下に示す形式で出力します。
文字列項目は二重引用符(" ")で囲みます。文字列中に二重引用符がある場合は、二重引用符を2回繰り返して出力します。
数値項目は二重引用符(" ")で囲みません。