您的位置:首页 > 其它

超实用压力测试工具-ab工具

2017-12-27 19:12 776 查看
在学习ab工具之前,我们需了解几个关于压力测试的概念吞吐率(Requests per second)概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。计算公式:总请求数 / 处理完成这些请求数所花费的时间,即Request per second = Complete requests / Time taken for tests并发连接数(The number of concurrent connections)概念:某个时刻服务器所接受的请求数目,简单的讲,就是一个会话。并发用户数(The number of concurrent users,Concurrency Level)概念:要注意区分这个概念和并发连接数之间的区别,一个用户可能同时会产生多个会话,也即连接数。用户平均请求等待时间(Time per request)计算公式:处理完成所有请求数所花费的时间/ (总请求数 / 并发用户数),即Time per request = Time taken for tests /( Complete requests / Concurrency Level)服务器平均请求等待时间(Time per request: across all concurrent requests)计算公式:处理完成所有请求数所花费的时间 / 总请求数,即Time taken for / testsComplete requests可以看到,它是吞吐率的倒数。同时,它也=用户平均请求等待时间/并发用户数,即Time per request / Concurrency Level

  

ab工具简介

  ab是Apache超文本传输协议(HTTP)的性能测试工具。其设计意图是描绘当前所安装的Apache的执行性能,主要是显示你安装的Apache每秒可以处理多少个请求。

下载ab工具

  进入apache官网 http://httpd.apache.org/ 下载apache即可

  

开始测试

  输入命令 ( 进入ab.exe 目录 )
  ab -n 100 -c 10 http://test.com/[/code]   其中-n表示请求数,-c表示并发数  其余命令请参见 http://apache.jz123.cn/programs/ab.html

  

关于登录的问题

  有时候进行压力测试需要用户登录,怎么办?  请参考以下步骤:先用账户和密码登录后,用开发者工具找到标识这个会话的Cookie值(Session ID)记下来复制Cookie信息ab -n 100 -c 100 -H "Cookie: JSESSIONID=01BCDA8D30F3011A1C8136ED9B0A3ED6.server;USER.oooooooooooooooo=ab84b0125a24ecb263c6b677b989683ca26da6b4076ae09e1d5ccb8595a92a6d28233e61d860c9d0b745b0dfd8426494" http://127.0.0.1:8007/shopCenter/zcyAccount/checkZcyAccount.do

关于(GET带参数的请求),加引号" "

  ab -n 2000 -c 150 "http://127.0.0.1:8007/app/appShopGoods/allow/getGoodsDetail.action?areaid=2013&detailid=50353974" >>c:\wap_good.html

总结

  总的来说ab工具ab小巧简单,上手学习较快,可以提供需要的基本性能指标,但是没有图形化结果,不能监控。因此ab工具可以用作临时紧急任务和简单测试。  同类型的压力测试工具还有:webbench、siege、http_load等

链接:https://www.jianshu.com/p/43d04d8baaf7
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: