実行モード/プロファイルモード
フローの処理時間が長い時にボトルネックがどこにあるかを調べるために、「プロファイルモード」という実行モードが提供されています。出力されたプロファイルログ(FlowProfile.log)から、各コンポーネントとフロー全体での実行時間を確認することができます。
プロファイルモードでフローを実行する
1.測定対象のフローを表示し、ツールバーの「実行」アイコンをクリックする
2.「フローの実行」ダイアログが表示されるので、「実行モード」の一覧から「プロファイル」を選択し、「実行」をクリックする
3.フロー実行後に表示される「プロファイル」タブを選択し、測定結果を確認する
フローデザイナーから直接フローを実行したときは「フローの実行」ダイアログボックスで参照することができます。フローの実行が終了すると、実行ダイアログボックスに「プロファイル」タブが表示され、測定結果が表示されます。
CAUTION
フローデザイナーからプロファイルモードで実行したフローがタイムアウトしたときは、実行ダイアログボックスに「プロファイル」タブは表示されません。出力されたプロファイルログから測定結果を確認してください。
計測される時間はフローの実行にかかった時間のみで、HTTPリクエストを受けてからレスポンスを返すまでの間などのフローの実行前後にかかる時間は含まれません。
HINT
FlowInvokerコンポーネント
デザイナー上では、呼び出し元のプロファイルのみが表示されます。実行したフローの測定結果は、出力されたプロファイルログで確認してください。
ParallelSubFlowコンポーネント
「実行するフロー」プロパティで指定したパラレルサブフローで実行された各コンポーネントの情報は、そのパラレルサブフローごとにすべて別のコンポーネントとして記録されます。
HINT
実行設定からフローを実行する場合
実行設定からフローを実行し、プロファイルを確認することもできます。その場合は、フローデザイナーの実行設定画面、もしくはフローサービス管理コンソール(FSMC)の「トリガー」画面で「実行モード」を「通常」から「プロファイル」に変更し、実行設定を保存します。
FSMC、flow-ctrlからフローを実行する場合
FSMCの「状態」-「フロー」-「フロー一覧」からプロファイルモードでフローを実行するときは、実行画面のモードを「プロファイル」に変更してフローを実行します。
flow-ctrlからプロファイルモードでフローを実行するときは -modeオプションをつけてフローを実行します。
例)Flow1をプロファイルモードで実行する場合
exec Project1 Flow1 -mode:profile
フローデザイナーから直接フローを実行する以外の方法で測定結果を確認するときは、出力されるプロファイルログ(FlowProfile.log)を参照してください。
HINT
「プロファイル」タブの項目は以下となります。
項目名 | 説明 |
プロジェクト名 | 実行したフローのプロジェクト名。 |
フロー名 | 実行したフロー名。 |
コンポーネント名 | 実行したコンポーネント名。 |
初期化 | |
日時 | 初期化(init)実行直後のタイムスタンプ。 |
時間 | 初期化にかかった時間。 |
実行 | |
回数 | 実行(execute)した回数。 |
最小 | 1回の実行にかかった時間のうちの最小時間。 |
最大 | 1回の実行にかかった時間のうちの最大時間。 |
合計 | 実行にかかった時間の総和。 |
ループ処理 | |
回数 | ループ実行(executeLoop)した回数。 |
処理なし | ループ実行が必要なかった回数。 |
最小 | 1回のループ実行にかかった時間のうち最小時間。 |
最大 | 1回のループ実行にかかった時間のうち最大時間。 |
合計 | ループ実行にかかった時間の総和。 |
コミット | |
回数 | コミット(commit)した回数。 |
最小 | 1回のコミットにかかった時間のうち最小時間。 |
最大 | 1回のコミットにかかった時間のうち最大時間。 |
合計 | コミットにかかった時間の総和。 |
フロー終了処理 | |
回数 | フロー終了処理(endFlow)した回数。 |
最小 | 1回のフロー終了処理にかかった時間のうち最小時間。 |
最大 | 1回のフロー終了処理にかかった時間のうち最大時間。 |
合計 | フロー終了処理にかかった時間の総和。 |
終了処理 | リクエスト終了処理(term)にかかった時間。 |
合計 | そのコンポーネントの実行時間の総和。 |
HINT
プロファイルログにも同様の内容が出力されます。1行目にユーザー名、プロジェクト名、フロー名、セッションID、フロー全体の実行時間(単位:ms)が追加で出力されます。