HP LoadRunner 分析には、テスト全体で実行中の仮想ユーザーの現在の数を示す実行中の仮想ユーザー グラフがあります。グラフの例を以下に示します。
このグラフのデータを作成するために使用される SQL を知っている人はいますか? データが LoadRunner 分析 MDB データベースに直接保存されていることは知っていますか? つまり、An_Session1.mdb ですが、SQL クエリを特定できません。
ありがとう
HP LoadRunner 分析には、テスト全体で実行中の仮想ユーザーの現在の数を示す実行中の仮想ユーザー グラフがあります。グラフの例を以下に示します。
このグラフのデータを作成するために使用される SQL を知っている人はいますか? データが LoadRunner 分析 MDB データベースに直接保存されていることは知っていますか? つまり、An_Session1.mdb ですが、SQL クエリを特定できません。
ありがとう
クエリを少し改良したので、以前の回答を編集する代わりに、新しい回答を投稿します。
これにより、時間の経過に伴う特定のアクションの vuser の CUMULATIVE カウントを含む列が生成されます。出力は線形ではないことに注意してください。何かが発生したときの行のみが含まれます (x 軸)。
SELECT
M.[End Time] AS RelTimeSec,
M.[VUser ID] AS VuserID,
M.[VUser Status ID] AS StatusID,
S.[Vuser Status Name],
( SELECT
Count( VuserEvent_Meter.[VUser Status ID] )
FROM
VuserEvent_Meter
WHERE
VuserEvent_Meter.[InOut Flag]=1 AND
VuserEvent_Meter.[End Time]<=M.[End Time] AND
VuserEvent_Meter.[VUser ID]>0 AND
VuserEvent_Meter.[VUser Status ID]=1
) AS CumulReady,
( SELECT
Count( VuserEvent_Meter.[VUser Status ID] )
FROM
VuserEvent_Meter
WHERE
VuserEvent_Meter.[InOut Flag]=1 AND
VuserEvent_Meter.[End Time]<=M.[End Time] AND
VuserEvent_Meter.[VUser ID]>0 AND
VuserEvent_Meter.[VUser Status ID]=2
) AS CumulRun,
( SELECT
Count( VuserEvent_Meter.[VUser Status ID] )
FROM
VuserEvent_Meter
WHERE
VuserEvent_Meter.[InOut Flag]=1 AND
VuserEvent_Meter.[End Time]<=M.[End Time] AND
VuserEvent_Meter.[VUser ID]>0 AND
VuserEvent_Meter.[VUser Status ID]=3
) AS CumulPause,
( SELECT
Count( VuserEvent_Meter.[VUser Status ID] )
FROM
VuserEvent_Meter
WHERE
VuserEvent_Meter.[InOut Flag]=1 AND
VuserEvent_Meter.[End Time]<=M.[End Time] AND
VuserEvent_Meter.[VUser ID]>0 AND
VuserEvent_Meter.[VUser Status ID]=4
) AS CumulQuit
FROM
VuserEvent_Meter M
INNER JOIN
VuserStatus S ON M.[VUser Status ID] = S.[Vuser Status ID]
WHERE
M.[InOut Flag]=1 AND M.[VUser Status ID] IN (1,2,3,4) AND M.[VUser ID]>0
ORDER BY
M.[End Time]
次のようなものを出力します。
RelTimeSec VuserID StatusID Vuser Status Name CumulReady CumulRun CumulPause CumulQuit
15 1 2 Run 1 1 0 0
15 1 1 Ready 1 1 0 0
30 2 2 Run 2 2 0 0
30 2 1 Ready 2 2 0 0
45 3 1 Ready 3 3 0 0
45 3 2 Run 3 3 0 0
60 4 2 Run 4 4 0 0
60 4 1 Ready 4 4 0 0
75 5 1 Ready 5 5 0 0
75 5 2 Run 5 5 0 0
90 6 2 Run 6 6 0 0
90 6 1 Ready 6 6 0 0
...
1687 88 4 Quit 82 82 0 19
1687 86 4 Quit 82 82 0 19
1687 85 4 Quit 82 82 0 19
1687 87 4 Quit 82 82 0 19
1697 113 2 Run 83 83 0 19
1697 113 1 Ready 83 83 0 19
1712 114 1 Ready 84 84 0 19
1712 114 2 Run 84 84 0 19
1727 115 1 Ready 85 85 0 19
1727 115 2 Run 85 85 0 19
1742 116 2 Run 86 86 0 19
1742 116 1 Ready 86 86 0 19
1747 89 4 Quit 86 86 0 23
この場合、分析結果を意味していると思います。
.mdb ファイルを開いて「VuserEvent_meter」テーブルを見ると、そこに必要なすべてのデータが見つかります。
正確なイベントの内容については、VuserStatus テーブルを参照します。SQL (Access で記述) は次のとおりです。
SELECT
[M.End Time] AS RelTimeSec, [M.VUser ID] AS VuserID, [M.VUser Status ID] AS StatusID
FROM
VuserEvent_Meter M
WHERE
[M.InOut Flag]=1 AND [M.VUser Status ID]>0 AND [M.VUser ID]>0
ORDER BY
[M.End Time]
実際のイベント名を含めたい場合は、[M.VUser ステータス ID] = [VuserStatus.Vuser ステータス ID] に基づいて、[VuserStatus.Vuser ステータス名] 列を結合する必要があります。
これがあなたを正しい方向に向けてくれることを願っています。