Your target load = 100 threads (you are assuming it should generate 100 req/sec as per your plan)
Your actual load = 7 req/sec = 7*3600/hour = 25200
Per thread throughput = 25200/100 threads = 252 iterations/thread/hour
Per transaction time = 3600/252 = 14.2 secs
は、JMeterは実際にはそれぞれのリクエストにスレッドごとに、すべての14秒を送信する必要があります。すなわち、14.2秒ごとに100個の要求を送信する。
ここで、トランザクションタイマーのJMeterサマリーレポートを分析して、残りの13.2秒が費やされている場所を確認します。
可能性のある問題は、1.高DNS解決時間(DNSの問題) 2.高接続設定時間は(ロードバランサの問題を示す) 3.高要求されている時間を送る(N/Wまたはファイアウォールスロットリングの問題を示す) 4高い要求受信時間(#3と同じ)
Apacheログに表示される時間は、ほとんどの場合、最初のバイト時間までの時間としてJMeterに表示されます。私はあなたのテストを実行しているマシンについてはわかりません。ワーカーがカールをサポートできる場合は、Curlを使用して単一の要求のコンポーネントを検索します。
echo 'request payload for POST'
| curl -X POST -H 'User-Agent: myBrowser' -H 'Content-Type: application/json' -d @- -s -w '\nDNS time:\t%{time_namelookup}\nTCP Connect time:\t%{time_connect}\nAppCon Protocol time:\t%{time_appconnect}\nRedirect time:\t%{time_redirect}\nPreXfer time:\t%{time_pretransfer}\nStartXfer time:\t%{time_starttransfer}\n\nTotal time:\t%{time_total}\n' http://mytest.test.com
上記の出力がこのような問題を示していない場合は、JMeter内で時間が過ぎている必要があります。 beanshell/JSR223などのさまざまなオプションを使用してJMeterの実装を調整する必要があります。
JMeterでは、平均とスループットについて何が表示されますか(たとえば、サマリーレポートを使用します)? –