-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 参数)。但请注意,增加并发级别可能会增加服务器的负载,所以需要根据实际情况进行调整。 |