web-dev-qa-db-ja.com

Apache JMeterでの応答タイムアウトの構成

特定のHTTPリクエストの応答時間が30秒を超えているかどうかを確認しようとしており、そうであれば、失敗としてマークしてスレッドを停止します。ときどき、80秒に近い応答時間を見ることができるようになったため、ブラウザが応答を待っている時間はありません。

JMeterでタイムアウト値を設定する次の3つの方法を見つけましたが、複数のオプションがあり、どちらを使用するか、またはそれらにまったく違いがあるかどうかがわからないため、これは混乱します。

したがって、応答タイムアウトに関連するオプションを以下に示します。

  1. サンプラーでの応答タイムアウト値の設定 enter image description here
  2. Durationアサーションを追加する

enter image description here
3。 jmeter.properties構成ファイルでタイムアウトを設定します。ここで見つけたオプション:

  1. os_sampler.poll_for_timeout = x
  2. http.socket.timeout = x
  3. httpclient.timeout = x

したがって、問題は、リストされたオプションから応答タイムアウトを設定する場所がわからないことです。これらのオプション間に違いはありますか? 結果として見たいもの:特定のHTTPリクエストが応答するのに30秒以上かかる場合、応答の待機を停止し、失敗したリクエストとしてマークします。

21
Dominik Antal

必要に応じて、アサーションはリクエストを失敗としてマークするだけで、待機するため、正しいソリューションではありません。

適切なオプションは応答タイムアウトです。

3点目について

  1. os_sampler.poll_for_timeout = x => httpではありません。以下を参照してください。

  2. http.socket.timeout = x => HttpClient4または3を使用するすべてのリクエストに適用されます:

  3. httpclient.timeout = x =>同じ、参照:

最適なオプションは1を使用することだと思います。これらの値をすべてのリクエストに適用する場合は、Http Request Defaults要素を使用します。

HTTP Request Defaults

10
UBIK LOAD PACK

ソケット/接続および読み取り/応答のタイムアウトは、Http Request Defaults jmeter GUIのセクション。サンプルを参照してください:

接続タイムアウト:3秒
応答タイムアウト:20秒。

enter image description here

21
Devrim