使用ab做web系统的压力测试

来源:互联网 发布:51java 编辑:程序博客网 时间:2024/04/27 20:11

如何使用

比如,要压测的地址:http://localhost:8080/web/test/ajax/testDB.do
使用ab模拟并发的压力:

ab -n1000 -c100 http://localhost:8080/web/test/ajax/testDB.do

参数 -n:请求总数
参数 -c:并发数
对于上面的命令,含义就是:一共有1000个请求,每次并发100个。也就是说,这1000个请求分成了10批,每批同时并发出来100个。

测试结果说明

ab运行结束后,会自动生成一份报告,如下:
这里写图片描述

上面的几个重要参数说明:
Concurrency Level:并发请求数,也就是-c这个参数设置的值
Time taken for tests:整个测试持续的时间
Complete requests:完成了多少请求,也就是-n这个参数
Failed requests:失败的次数
Total transferred:整个过程中,网络传输量
HTML transferred:整个过程中,HTML传输的量
Requests per second:也就是吞吐率。这是一个web应用最关心的指标之一,后面括号中的 mean 表示这是一个平均值
Time per request:每次请求,用户平均等待时间
Time per request:下面的这个,是服务器平均请求处理时间
Transfer rate:平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题。

下面的“Connection Times”列表:
表示网络上消耗的时间的分解

再下面的“Percentage of the requests served within a certain time”:
描述了,每个请求处理时间的分布情况:50%的处理时间在24561ms内,90%的处理时间在27501ms内。

需要登陆的页面如何处理

先获得cookie:

ab -n 100 -C key=value http://test.com/

然后加上cookie去请求页面:

ab -C cookie1_name=cookie1_value -C cookie2_name=cookie2_value ......或者ab -H "Cookie: cookie1_name=cookie1_value; cookie2_name=cookie2_value" ......
0 0
原创粉丝点击