メッセージ・ログ・ファイルにログを取り、同期ウィンドウに表示する情報を指定できます。
mlsrv11 -c "connection-string" -v[ levels ] ...
このオプションは、dbmlsync のトランザクション・レベルのアップロードを使用している場合に特に便利です。
このオプションは、メッセージ・ログ・ファイルに書き込まれるメッセージのタイプを制御します。
-v を単独で指定すると、Mobile Link サーバは、各同期について最小量の情報を書き込みます。
冗長レベルを上げ過ぎるとパフォーマンスに影響する可能性があるので、冗長レベルを上げるのは開発中だけにしてください。
levels の値は次のとおりです。たとえば -vnrsu など、一度に 1 つまたは複数のオプションを使用できます。
+ 冗長性を高めるすべてのログ・オプションを on にします。
c 呼び出された各同期スクリプトの内容を表示します。このレベルには、s の機能が含まれます。
e システム・イベント・スクリプトを表示します。システム・イベント・スクリプトを使用して、Mobile Link システム・テーブルと、アップロードを制御する SQL スクリプトを管理します。
f 最初の読み込みエラーを表示します。このオプションは、負荷分散装置がサーバの活性を確認するとき、データを送信しない接続を確立して同期が失敗したために発生したエラーのログを取ります。
TCP/IP 接続の場合は、TCP/IP の ignore オプションを使用する方がよいでしょう。詳細については、-x オプションを参照してください。
h 同期中にアップロードされたリモート・スキーマを表示します。
i アップロードされた各ローのカラム値を表示します。アップロードとダウンロードされた各ローのカラム値を表示する -vr オプションの代わりにこのオプションを使用すると、ログに記録されるデータ量が減少します。-vi と -vq を同時に指定することは、-vr を指定することと同じです。
m 同期が完了するたびに、各同期と各同期フェーズの継続時間をログに出力します。同期フェーズは以下に示します。これらは、Mobile Link モニタに表示されるフェーズと同じです。すべての時間はミリ秒 (ms) で表されます。
[同期要求] リモート・データベースと Mobile Link サーバの間のネットワーク接続を確立してから、アップロード・ストリームの最初のバイトを受信するまでの時間。-sm を -nc よりも小さい値に設定した場合以外はこの時間はわずかです。-sm を -nc よりも小さい値に設定した場合は、-sm で指定したアクティブな同期の最大数よりも同期の数が多かった場合に同期が一時停止した時間がこの時間に含まれる可能性があります。
[アップロードの受信] Mobile Link サーバでアップロード・ストリームの最初のバイトが受信されてから、リモート・データベースからのアップロード・ストリームが完全に受信されるまでの時間。アップロード・ストリームには、テーブルの定義や、アップロードされているリモート・データベースのローが含まれるので、ダウンロード専用同期でもこの時間が長くなる場合があります。時間は、アップロード・ストリームのサイズと、転送用のネットワーク帯域幅によって異なります。
[DB ワーカの取得] 空いているデータベース・ワーカ・スレッドを取得するために必要な時間。
[接続] 新しいデータベース接続が必要な場合に、データベース・ワーカ・スレッドでデータベース接続を確立するために必要な時間。たとえば、エラーの後や、スクリプトのバージョンが変更された場合に新しい接続が必要になります。
[ユーザを認証] ユーザの認証に必要な時間。
[同期の開始] begin_synchronization イベントが定義されている場合はこのイベントに必要な時間と、サブスクリプションごとに last_upload_time をフェッチするのに必要な時間の合計 (共有 Mobile Link 管理接続を使用)。
[アップロードの適用] アップロードしたデータを統合データベースに適用するために必要な時間。
[ダウンロードの準備] prepare_for_download イベントに必要な時間。
[ダウンロードのフェッチ] 統合データベースからダウンロードするローをフェッチしてダウンロード・ストリームを作成するために必要な時間。
[同期の終了] end_synchronization イベントに必要な時間。この後、データベース・ワーカ・スレッドが解放されます。ブロッキング・ダウンロード確認を使用している場合、このフェーズはダウンロード確認の待機フェーズの後に発生します。それ以外の場合は、ダウンロード・ストリームがリモート・データベースに送信される前に発生します。
[ダウンロードの送信] ダウンロード・ストリームをリモート・データベースに送信するために必要な時間。時間は、ダウンロード・ストリームのサイズと、転送用のネットワーク帯域幅によって異なります。アップロード専用同期の場合、ダウンロード・ストリームは単なるアップロード確認です。
[ダウンロード確認の待機] ダウンロードがリモート・データベースに適用され、リモート・データベースからダウンロード確認が送信されるのを待つ時間。このフェーズは、リモート・データベースでダウンロード確認が有効になっている場合にのみ表示されます。
[ダウンロード確認の DB ワーカの取得] ダウンロード確認を受信してから、データベース・ワーカ・スレッドが空くのを待つ時間。このフェーズは、リモート・データベースでダウンロード確認が有効になっていて、また Mobile Link サーバで非ブロッキング・ダウンロード確認が使用されている場合にのみ表示されます。
[ダウンロード確認の接続] 新しいデータベース接続が必要な場合に、データベース・ワーカ・スレッドでデータベース接続を確立するために必要な時間。このフェーズは、リモート・データベースでダウンロード確認が有効になっていて、また Mobile Link サーバで非ブロッキング・ダウンロード確認が使用されている場合にのみ表示されます。
[非ブロッキング・ダウンロード確認] publication_nonblocking_download_ack 接続と nonblocking_download_ack 接続のイベントに必要な時間。このフェーズは、リモート・データベースでダウンロード確認が有効になっていて、また Mobile Link サーバで非ブロッキング・ダウンロード確認が使用されている場合にのみ表示されます。
各値は、値の検索や出力が容易になるように、"PHASE:" で始まります。
次に、さまざまな同期フェーズの期間を表している出力例を示します。
I. 2008-06-05 14:48:36. <1> PHASE: start_time: 2008-06-05 14:48:36.048 I. 2008-06-05 14:48:36. <1> PHASE: duration: 175 I. 2008-06-05 14:48:36. <1> PHASE: sync_request: 0 I. 2008-06-05 14:48:36. <1> PHASE: receive_upload: 19 I. 2008-06-05 14:48:36. <1> PHASE: get_db_worker: 0 I. 2008-06-05 14:48:36. <1> PHASE: connect: 18 I. 2008-06-05 14:48:36. <1> PHASE: authenticate_user: 51 I. 2008-06-05 14:48:36. <1> PHASE: begin_sync: 69 I. 2008-06-05 14:48:36. <1> PHASE: apply_upload: 0 I. 2008-06-05 14:48:36. <1> PHASE: prepare_for_download: 1 I. 2008-06-05 14:48:36. <1> PHASE: fetch_download: 4 I. 2008-06-05 14:48:36. <1> PHASE: wait_for_download_ack: 0 I. 2008-06-05 14:48:36. <1> PHASE: end_sync: 0 I. 2008-06-05 14:48:36. <1> PHASE: send_download: 10 I. 2008-06-05 14:48:36. <1> PHASE: get_db_worker_for_download_ack: 0 I. 2008-06-05 14:48:36. <1> PHASE: connect_for_download_ack: 0 I. 2008-06-05 14:48:36. <1> PHASE: nonblocking_download_ack: 0 |
n ロー・カウントの要約を表示します。
o SQL パススルー・アクティビティを表示します。
p 進行オフセットを表示します。
q ダウンロードされた各ローのカラム値を表示します。アップロードとダウンロードされた各ローのカラム値を表示する -vr オプションの代わりにこのオプションを使用すると、ログに記録されるデータ量が減少します。-vi と -vq を同時に指定することは、-vr を指定することと同じです。
r アップロードまたはダウンロードされた各ローのカラム値を表示します。アップロードされた各ローのカラム値だけをログに記録する場合は、-vi を使用します。ダウンロードされた各ローのカラム値だけをログに記録する場合は、-vq を使用します。
s 呼び出された各同期スクリプトの名前を表示します。
t ODBC 標準フォーマットのスクリプトから生成された、変換された SQL を表示します。このレベルには、c の機能が含まれます。次の例は、SQL Anywhere での文の自動変換を示します。
I. 02/11 11:02:14. [102]: begin_upload synch2 { call SynchLogLine( ?, ?, 'begin_upload' ) } I. 02/11 11:02:14. [102]: Translated SQL: call SynchLogLine( ?, ?, 'begin_upload' ) |
次の例は、同じ文の Microsoft SQLServer での変換を示します。
I. 02/11 11:03:21. [102]: begin_upload synch2 { call SynchLogLine( ?, ?, 'begin_upload' ) } I. 02/11 11:03:21. [102]: Translated SQL: EXEC SynchLogLine ?, ?, 'begin_upload' |
u 未定義のテーブル・スクリプトを表示します。これは、経験の浅いユーザが同期処理を理解する上で役立ちます。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |