ApacheBench的ab命令使用自定义HTTP头进行压力测试

之前用Apache Bench来测试网站的承受能力的时候,也只用到了并发数(-c)和请求数(-n),一般来说,普通网站的压力测试、吞吐量估计用这种请求就够了,但是要测试一些比如需要登录授权后的页面,就需要加入自定义HTTP头了。

以往不需要自定义http头的时候,比如测试要测试百度的1000并发,10000请求压力下的响应能力,命令如下:

ab -c1000 -n10000 http://www.baidu.com/

其中-c和-n后面要不要空格都是可以的。

而如果我们要测试需要登陆后才能访问的页面的吞吐量,就需要加自定义HTTP头了,比如自己的路由器的web界面。下面我们以192.168.1.1举例来测试一下,路由器100并发,1000请求下的响应能力。

ab -c100 -n1000 -H "AUTHORIZATION: Basic YWRtaW46YWRtaW4=" http://192.168.1.1/

需要注意的一点是,一般来说路由器的登陆认证都是基于basic认证,所以自定义HTTP头格式为:

AUTHORIZATION: Basic base64(路由器管理账号:路由器管理密码)

这里是以账号admin密码admin举例的,也就是

base64(admin:admin) = YWRtaW46YWRtaW4=

base64加密解密的网站不少,比如http://www.base64encode.org/