前のトピック: レポート データベースの変更次のトピック: レコーダおよびテスト ジェネレータ


レポートのパフォーマンスのトラブルシューティング

負荷テストを実行し、テスト ケースのボトルネックがレポート データベースへのイベントの書き込みであると判明した場合は、レポート ジェネレータからメトリック以外のすべてを削除することを検討します。

通常、問題は負荷テストの実行時に DevTest が記録しようとするデータが多すぎることです。 テスト スイート エディタの[レポート]タブで、以下の順にイベントをオフにしてみます。

設定/参照されたプロパティ

このイベントは、データベース内の大半の行を生成し、負荷テストにほとんど役立ちません。 各ステップの実行では、プロパティの取得および設定がすぐに 10 以上になることを考慮してください。 負荷テストでは、このイベントによりデータベースに行が追加され、短期間に数百万行にもなります。 たとえば、テスト ケースのステップが 5 つあり(各ステップに 5 つの取得および 5 つの設定)、100 ユーザを 10000 サイクル実行すると、データベース内の行数は 5000 万行になります。

すべてのイベントを記録

このイベントは、基本的にワークフロー エンジンのレコーディングです。 このイベントでも、ステップごとに容易に 5 行以上の行が生成されることがあります。 

要求/応答

このイベントは余分な行を作成しませんが、ペイロードが大きい可能性があるので CLOB として格納されます。 最大量のデータを作成する可能性がありますが、テーブルおよびインデックスが同じように急速に増加するとは限らないため、データベースへの影響は小さくなります。

それでもレポート エンジンがボトルネックと考えられる場合は、lisa.reporting.useAsync=false プロパティを有効にすることを検討します。 このプロパティは、JMS を使用してレポート イベントを送信するように DevTest に指示します。 シミュレータおよびコーディネータのバックグラウンド スレッドは、データベースにイベントを非同期で書き込みます。 これは、すべてのイベントがデータベースに書き込まれる前に負荷テストが終了することを意味します。そのため、しばらくの間、レポートは表示されません。 その時間は、テスト ケースと生成されたイベント数によって異なります。 シミュレータのキューは、通常、フラッシュに最も時間がかかります。シミュレータのログには、完了したパーセンテージを示す INFO レベルのメッセージが書き込まれます。

非同期レポート機能は、データベースへの書き込み速度を低下させないため、シミュレータの実行速度を速くすることができます。 その代わりに、データは JMS キューに入れられて後で書き込まれます。