
-n 参数设了 1000, 但实际只请求了 300 多个, 是我哪里弄错了吗?
所使用的命令:
ab -n 1000 -c 100 -t 30 -p "/playground/1" -T "multipart/form-data; boundary=96180d74-ac90-4fcf-9383-9ea9d147d94b" -H "Authorization: Bearer xxx" "http://xxxx.com" 压测结果:
Benchmarking xxx.com (be patient) Finished 319 requests Server Software: Server Hostname: xxx.com Server Port: 80 Document Path: Document Length: 255 bytes Concurrency Level: 100 Time taken for tests: 30.034 seconds Complete requests: 319 Failed requests: 14 (Connect: 0, Receive: 0, Length: 14, Exceptions: 0) Non-2xx responses: 14 Total transferred: 167841 bytes Total body sent: 27554560 HTML transferred: 77775 bytes Requests per second: 10.62 [#/sec] (mean) Time per request: 9414.936 [ms] (mean) Time per request: 94.149 [ms] (mean, across all concurrent requests) Transfer rate: 5.46 [Kbytes/sec] received 895.95 kb/s sent 901.41 kb/s total Connection Times (ms) min mean[+/-sd] median max Connect: 7 9 1.0 8 12 Processing: 477 7536 3093.2 7573 17061 Waiting: 475 7536 3093.2 7573 17061 Total: 486 7545 3093.2 7581 17070 WARNING: The median and mean for the initial connection time are not within a normal deviation These results are probably not that reliable. Percentage of the requests served within a certain time (ms) 50% 7578 66% 8615 75% 9234 80% 9752 90% 11527 95% 12358 98% 15382 99% 15992 100% 17070 (longest request) 1 faceair 2023-04-16 01:17:06 +08:00 From GPT-4: 在这个情况下,由于你设置了 -t 30 参数,这意味着 ab 压测工具在 30 秒后会停止发送请求。因此,在压测过程中,只有在 30 秒内完成的请求会被记录。在你的压测结果中,只有 319 个请求在 30 秒内完成,因此 Complete requests 和 Failed requests 的和不等于 1000 。 为了确保你的 1000 个请求都被发送和记录,你可以将 -t 参数去掉,或者将其设置为一个足够长的时间,以便所有请求都能在这段时间内完成。 同时,请注意,如果你想要发送更多的请求,也可以适当增加并发级别(-c 参数)。但请注意,增加并发级别可能会增加服务器的负载,所以需要根据实际情况进行调整。 |