ab相同并发的情况下,不同请求次数,响应速度不一机的奇怪问题。
小弟最近做了这样一个测试:
ab -n 100000 -c 400 192.168.3.130/
Server Software: Apache/2.2.21
Server Hostname: 192.168.3.130
Server Port: 80
Document Path: /
Document Length: 44 bytes
Concurrency Level: 400
Time taken for tests: 7.321617 seconds
Complete requests: 100000
Failed requests: 0
Write errors: 0
Total transferred: 29514160 bytes
HTML transferred: 4402112 bytes
Requests per second: 13658.18 [#/sec] (mean)
Time per request: 29.286 [ms] (mean)
Time per request: 0.073 [ms] (mean, across all concurrent requests)
Transfer rate: 3936.56 [Kbytes/sec] received
ab -n 1000000 -c 400 192.168.3.130/
Concurrency Level: 400
Time taken for tests: 51.276322 seconds
Complete requests: 1000000
Failed requests: 0
Write errors: 0
Total transferred: 295024190 bytes
HTML transferred: 44003608 bytes
Requests per second: 19502.18 [#/sec] (mean)
Time per request: 20.511 [ms] (mean)
Time per request: 0.051 [ms] (mean, across all concurrent requests)
Transfer rate: 5618.75 [Kbytes/sec] received
同样的一台目标服务器,同样是400并发,为什么10000次请求的情况下是13000多每秒,100000次请求就变成19000多每秒了,各位高手,谁知道是为什么啊?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我刚试了一下,100000次请求的情况,一次比一次快,16000~19000每秒,怀疑是apache的cache起了作用,1000000次请求的情况,稳定在18000左右,看来同一台WEB服务器,压力的性能差不多,响应时间也差不多。
apache处理响应也是要排队的。你的请求数多了,要处理排队之类的情况。DoS攻击你不会没听过,当请求达到一定的量时,直接就停止服务了,那么这个响应时间又是多久?
你第二次的请求数是第一次的10倍啊。
应该多测试几次取平均值