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

在学习AB工具之前,我们需了解几个关于压力测试的概念

吞吐率(Requests per second)

概念:服务器并发处理能力的量化描述,单位是reqs / s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。

计算公式:总请求数/处理完成这些请求数所花费的时间,即

每秒请求数=完成请求数/测试时间

并发连接数(并发连接数)

概念:某个时刻服务器所接受的请求数目,简单的讲,就是一个会话。

并发用户数(并发用户数,并发级别)

概念:要注意区分这个概念和并发连接数之间的区别,一个用户可能同时会产生多个会话,也即连接数。
用户平均请求等待时间(每个请求的时间)
计算公式:处理完成所有请求数所花费的时间/(总请求数/并发用户数),即
每个请求的时间=测试所花费的时间/(完整请求/并发级别)
服务器平均请求等待时间(每个请求的时间:跨所有并发请求)
计算公式:处理完成所有请求数所花费的时间/总请求数,即所花费的时间
/ testsComplete请求
可以看到,它是吞吐率的倒数。
同时,它也=用户平均请求等待时间/并发用户数,即
每个请求的时间/并发级别

AB工具简介

ab全称为:apache bench
AB是Apache的超文本传输协议(HTTP)的性能测试工具。其设计意图是描绘当前所安装的的Apache的执行性能,主要是显示你安装的Apache的每秒可以处理多少个请求
AB是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx的,tomcat的,IIS等。

下载AB工具

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

开始测试

ab -n 100 -c 10 http://test.com/
其中-n表示请求数
-c表示并发数
命令其余请参见 http://apache.jz123.cn/programs/ab.html
测试结果分析
上面的命令运行完毕后就出来测试报告了

关于登录的问题

有时候进行压力测试需要用户登录,怎么办?
请参考以下步骤:
先用账户和密码登录后,用开发者工具找到标识这个会话的Cookie值(Session ID)记下来
如果只用到一个Cookie的,那么只需键入命令:
ab -n 100 -C key=value http://test.com/
如果需要多个饼干,就直接设部首:
ab -n 100 -H “Cookie: Key1=Value1; Key2=Value2” http://test.com/
总结
总的来说AB AB工具小巧简单,上手学习较快,可以提供需要的基本性能指标,但是没有图形化结果,不能监控。因此AB工具可以用作临时紧急任务和简单测试。

最后

同类型工具还有
webbench http_load siege
jmeter loadrunner
tcpcopy:网易 复制生产环境中的真实请求 并将之保存下来