パフォーマンス ログ
パフォーマンス ログには、ジョブまたはサービスの実行にかかった時間の詳細が記録されます。ジョブまたはサービスの全般的なパフォーマンス情報に加えて、ジョブまたはサービス データフロー内の各ステージのパフォーマンス情報が含まれます。この情報を使用して、各ステージの実行時間と処理時間を確認し、ボトルネックを特定できます。実行時間と処理時間が大きく異なる場合、そのステージでは上流ステージからのデータを待つ時間が長いことを意味します。この場合は、上流ステージがデータフローにおけるボトルネックである可能性があります。シンクについては、実行時間と処理時間が大きく異なることが、必ずしもパフォーマンスの問題を意味するとは限らないことに注意してください。シンクは一般的に、データフローのその他の部分からの最初のレコードを待たなければならないためです。
ジョブまたはサービスのパフォーマンス モニタリングを有効にするには、管理ユーティリティでコマンド performancemonitor enabled set を使用します。
パフォーマンス ログは、お使いの Spectrum™ Technology Platform サーバーの次の場所にあります。
SpectrumLocation\server\app\repository\logs\performance.log
パフォーマンス ログは、モニタリング対象のジョブまたはサービスの各実行に対して 1 行で書き出されます。循環式のログで、最大 5 ファイルで構成されます。各ファイル サイズの上限は 10 MB です。この上限に達すると、最も古いパフォーマンス データが削除され、新しいパフォーマンス データが記録されます。
パフォーマンス ログの各エントリには、次の情報が含まれます。
注: 以下では読みやすいように、改行とインデントを挿入しています。実際のログでは、エントリは 1 行で書き出されます。
Date Time [performance]
{
"username":"UserName",
"dataflowId":"DataflowName",
"runMode":"BatchOrRealTime",
"remote":TrueOrFalse,
"elapsedTime":Nanoseconds,
"stageInfo":[
{
"stageName":"Name",
"stageLabel":"Label",
"options":{
OptionsList
},
"recordsRead":Count,
"recordsWritten":Count,
"executionTime":Nanoseconds,
"processingTime":Nanoseconds
}
]
}
説明:
- username
- ジョブまたはサービスを実行したユーザ。
- dataflowID
- Enterprise Designer で定義されているサービスまたはジョブの名前。
- runMode
- ジョブとサービスのどちらのログ エントリであるかを示します。次のいずれかです。
- Batch
- ジョブに対するログ エントリです。
- RealTime
- サービスに対するログ エントリです。
- remote
- ジョブまたはサービスが、ローカル サーバーとリモート サーバーのどちらで実行されたかを示します。リモート サーバーで実行された 1 つ以上のステージを含むジョブの場合、ジョブを実行したサーバー上のパフォーマンス ログでは、ジョブはリモートではない ("false" の値) と示され、ジョブの 1 つ以上のステージを実行したリモート サーバー上のパフォーマンス ログでは、ジョブはリモートである ("true" の値) と示されます。次のいずれかです。
- true
- リモート サーバーで実行されたジョブまたはサービスです。
- false
- ローカル サーバーで実行されたジョブまたはサービスです。
- elapsedTime
- ジョブまたはサービスのリクエストを実行するのにかかった時間 (単位: ナノ秒)。
- stageInfo
- データフローの各ステージの実行情報を一覧表示します。各ステージに対して、次の情報が表示されます。
- stageName
- ステージの永続的な名前。
- stageLabel
- ステージのユーザ定義の名前。ステージ ラベルは、Enterprise Designer のキャンバス上に表示されます。
- options
- 実行時に指定されたオプションがあれば、その設定内容がここに表示されます。
- recordsRead
- ステージの全入力ポートを通してこのステージに引き渡されたレコードの総数。
- recordsWritten
- ステージの全出力ポートに書き出されたレコードの総数。
- executiontime
- ステージで最初のレコードが処理されてから最後のレコードが処理されるまでの時間。これには、データフローの他のステージからのデータを待つ間、ステージがアイドル状態だった時間が含まれます。
- processingtime
- ステージがレコードを実際に処理していた時間。データフローの他のステージからのデータ待ちでアイドル状態だった時間を除きます。