2

私は解決策を得るために苦労しています。

私が行ったこと:
ナビゲーション ページが HTTP プロキシ サーバーを使用して生成しているすべてのファイルを記録しました。スレッド グループの下にすべてのファイルを追加する テスト計画を実行しました。1 回はキャッシュなしで、もう 1 回はキャッシュありでした。

私が得ているもの:
しかし、そのページにFirebugを使用して得ている応答時間は、Jmeterを使用して得ているものよりも30〜40秒短くなっています[キャッシュと非キャッシュの場合]。

注意: このページには ajax が含まれています。

質問:

  1. Firebug の結果と比較すると、応答時間に大きなばらつきがあるのは AJAX のせいですか?
  2. いくつかのファイルを制限する必要がありますか? それらをスレッドグループに追加しませんか?

ありがとう。

4

3 に答える 3

5

Jmeter はページをレンダリングせず、javascript も実行しないため、ajax も実行しません。

ただし、ajax はリクエストを生成し、プロキシを使用している場合、これらのリクエストはプロキシによってキャプチャされます。

もう 1 つの重要な違いは、ほとんどのブラウザーが同時に要求を実行することです。ブラウザーと設定に応じて、通常は一度に 4 ~ 6 個の要求を行います。

Jmeter は、各リクエストを並列ではなく逐次*で行うため、特定のページとそのすべてのサブサンプルの合計読み込み時間が長くなる可能性があります。

各リクエストのリクエスト時間を見て合計すると、かなり近い値になるはずです

質問 2 については、それらを除外しないことをお勧めします。負荷を正確に測定したいからです。ファイルを除外すると結果が歪められます。

  • 新しい Jmeter バージョンには、「HTML ファイルからすべての埋め込みリソースを取得する」オプションがあり、同時プールを使用してこれらのリクエストを行うように設定することもできます。
于 2012-04-25T15:04:59.740 に答える
1

負荷テストとページの読み込み速度という 2 つの概念が混同されることがあります。実際には、それらは完全に異なるものであり、さまざまなツールを使用してさまざまな方法でアプローチする必要があります.

ページの読み込みにかかる時間を記録する最適なツールはブラウザーです。これをストップウォッチと適切なサンプル サイズと組み合わせると、有用なデータが得られます。真剣に、これは良い方法です。実際の結果が得られるだけでなく、ページが読み込まれたと認識されたときにクロックを停止することもできます。これは本当に重要なことです. このプロセスを自動化して再現性を実現したい場合、またはより細かい粒度が必要な場合は、機能自動化ツール (Selenium など) を検討する必要があります。ただし、これは負荷テストではなく機能テストです。負荷テストを実行する場合は、JMeter のようなものが非常に効果的です。

とはいえ、JMeter で応答時間が 40 秒長い場合は、複数のスレッドを使用して負荷テストを実行していることが原因ではないでしょうか? サーバーに過負荷をかけている可能性があり、これが応答時間が長くなる理由です。

于 2012-05-05T22:08:13.327 に答える
0

Lee が言ったように、JMeter は要求をシリアルに (次々に) 行いますが、ブラウザーはリソースを並列に要求し、一度に最大 8 つの接続を各ホストに開きます (したがって、より複雑なサーバーでは 8 つ以上の並列トランザクションが発生する可能性があります)。ページ)。一言で言えば、JMeter は合計ページ読み込み時間の測定においてまったく正確ではありません。その結果、サイトに負荷をかけたり、ページ コンテンツだけをテストしたりするのには適していますが、現実的なページの読み込み時間を測定したり、現実的な負荷パターンをシミュレートしたりするのには適していません。そのためには、より良いツールが必要です。

于 2012-04-25T16:51:57.360 に答える