Linux 使用ab进行压力测试

安装了apache后,执行命令查看ab版本

ab -V


确认安装后,执行命令进行测试

ab -n 1000 -c 200 http://xxx.com/

对http://xxx.com进行压力测试,指定请求总数为1000,并发用户数为200

 返回结果参数说明

Requests per second 吞吐率(reqs/s),该字段值为252.29,该值表明了服务器每秒能够处理的请求数量。

Time per request 平均请求处理时间,可以看到,该字段分为两行,有两个不同的值,代表了处理每隔请求所需要的时间,但是第一行的值是第二行的200倍。这是因为我们指定的并发数量为200,第一行为每次并发请求的平均耗时,第二行为每隔请求的耗时,因此,第一行值为第二行的值乘上并发请求数量。可以尝试将并发数改为20,这样就会看到第一行是第二行的20倍。
Transfer rate 每秒从服务器获取的数据的长度。

请求参数

ab -h 

Usage: ab [options] [http[s]://]hostname[:port]/path
Options are:
    -n requests     要执行的请求数量
    -c concurrency  并发请求数量
    -b windowsize   TCP发送/接收缓冲区大小,单位所以byte
    -p postfile     指定POST发送的数据文件,不要忘记设置-T参数
    -u putfile      指定PUT发送的数据文件,不要忘记设置-T参数
    -T content-type 使用POST/PUT发送数据时,指定Content-type请求头,例如.
                    'application/x-www-form-urlencoded'
                    默认是 'text/plain'
    -w              以HTML表格的形式输出结果
    -i              请求方式使用HEAD代替GET
    -C attribute    添加Cookie,例如'Apache=1234'. (可以重复设置)
    -H attribute    添加任意的请求Header,例如. 'Accept-Encoding: gzip'(可重复设置)
    -A attribute    添加基本的WWW认证信息,这个属性是用英文逗号分隔的用户名和密码
    -P attribute    添加代理服务器认证信息,使用逗号分隔用户名和密码
    -X proxy:port   指定代理服务器的地址和端口号
    -k              使用HTTP的KeepAlive特性
    -r              当Socket收到错误信息时不要退出.
    -Z ciphersuite  指定SSL/TLS加密套件
    -f protocol     指定SSL/TLS协议(SSL2, SSL3, TLS1 or ALL)

猜你喜欢

转载自my.oschina.net/marhal/blog/1812154