アプリケーションには、単純なパフォーマンステストフローがあります。
- ログインします
- いくつかの基準に基づいて検索
- 異なるパラメータを繰り返し検索します。
Jmeterを使用してパフォーマンステストを行っています。これをスケーラブルな方法でテストするには、複数のスレッドを実行する必要があります。
現在これを調整する方法は次のとおりです。
-Test Plan
- Thread Group
- Cookie Manager
- Login To application
- Search on param 1
- Search on param 2
- results summary table
- Summary report
つまり、基本的には、Cookieマネージャーがスレッドグループレベルに存在するのに対し、サマリーリターンテーブルとレポートはプランレベルに存在します。
1つのスレッドで実行すると、正常に実行され、正常に完了します。複数のスレッドにスケーリングすると、次のスレッドが開始されるとすぐに、最後のスレッドのセッションが無効になります。これにより、新しく生成されたスレッドが原因で、すでに実行されているすべてのスレッドで障害が発生します。
観察してこの結果に到達しました:
1。複数のスレッドを実行すると、結果サマリーツリーで最後のスレッドのみが有効な応答を取得します
。2。ランプアップ期間が10秒の2つのスレッドで実行すると、各スレッドが終了する時間を取得します。それ自体、そしてそれらの両方が正常に実行されます。
私の理解によると、各スレッドはアプリケーションにログインし、Cookieマネージャーはスレッドレベルであるため、各スレッドのセッションIDの値はそれぞれ維持されますか?しかし、スレッド間のセッションID値のオーバーライドの原因は何ですか?
どんな助けでも大歓迎です。