ab是什么
ab的全称是ApacheBench,是 Apache 附带的一个小工具,专门用于 HTTP Server 的benchmark testing,可以同时模拟多个并发请求。
ab的用法
ab 的用法是:ab [options] [http://]hostname[:port]/path
例如:
ab -n 1000 -c 200 http://xqtesting.blog.51cto.com/
上例表示总共访问小强的博客这个脚本1000次,200并发同时执行。
ab -n 1000 -c 100 -w http://xqtesting.blog.51cto.com/ >>/root/xiaoqiang.html
上面的测试用例表示100并发的情况下,共测试访问index.PHP脚本1000次,并将测试结果保存到xiaoqiang.html文件中。
ab常用参数的介绍:
-n :总共的请求执行数,缺省是1;
-c: 并发数,缺省是1;
-t:测试所进行的总时间,秒为单位,缺省50000s
ab结果分析
运行上面命令之后的结果太多了?看不懂?不知道看哪个?每个是什么意思?你心中又有十万个为什么了!打住,我们只需关注如下几个指标就好:
Requests per second (mean) 相当于 LR 中的 每秒事务数
Time per request (mean)相当于 LR 中的 平均事务响应时间
Percentage of the requests served within a certain time (ms)
如何传递参数?
ab -n 1 -c 1 "http://localhost/xiaoqiangshop/goods.PHP?id=20"
一定要有双引号
ab可以完成post操作吗?
ab -n 10 -c 10 -k -p "login.ab" -T "application/x-www-form-urlencoded" "http://localhost/xiaoqiangshop/user.PHP"
-p 文件中是post的内容(可以是json格式,可以是&格式)
-T 指定post文件的编码方式使用urlencode
-k keepalive连接
username=xiaoqiang&password=123123&act=act_login
注意事项
可以利用ab完成不复杂的性能测试,或者造数据,比较适用于单一URL的测试
ab判断成功与否只通过2xx的状态码作为依据,不接收服务器的返回值,但lr却接收服务器完整的返回。所以在同样的响应时间下,ab测试支持的并发数会大于lr,tps也会大于lr。
扩展阅读
使用Apache自带的ab命令测试网站性能:http://xqtesting.blog.51cto.com/4626073/1845431
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。