下面介绍一下主要的参数:
-n requests :Number of requests to perform [执行请求的数量]
-c concurrency : Number of multiple requests to make
重点介绍 concurrency的含义,以下是我的理解,不正确地方欢迎指正:
对于同一个网站 进行操作
ab -n 100 -c 1 http://www.baidu.com/
结果如下:
ab -n 100 -c 10 http://www.baidu.com/
返回的结果时间是不相同的,我们可以进行以下对比:
Time per request 6.73ms(means) 即每个request所需要的请求时间是一样的,那么为什么第二条操作需要的时间比第一条多呢?
就是因为他们所发送的总的request的数量是不同的。
concurrent 应该表示的是 每个节点所发的请求的数量,it is number of simultaneous request(Process) created in single point of time【stack上看的】
所以,concurrent = 10 是 concurrent = 1 的10倍,-n 100 - c 10 实际上发了 100×10 的request
concurrent = 10 相当于有10个user 同时提交request
但至于 为什么 n<c时 操作出错 就不是很能理解了,除非是 n/c 才可能出现,但是n/c 又有什么含义呢
一个猜想是这样的:
每个concurrent同一个时刻发[n/c]的请求,发c次
10: n/10,10次
1:n/1,1次