apache bench做web压力测试详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Asa_Jim/article/details/71637355

apache bench 的介绍:戳这里

apache bench 的官网:戳这里

apache bench 的windows 版本下载:戳这里


使用步骤:

1 下载解压缩后 用过cmd 进入到解压缩后的文件夹下例如:

           

2 cmd下安装相关服务:  httpd -k install


开始-->运行-->services.msc-->确定  在windows服务列表找到apache类似的 说明服务安装成功,右键选择启动服务。


4 注意修改端口

    默认80端口,若端口被其他应用程序占用:(查看80端口是否被占用,命令行下输入:netstat -aon|findstr "80"

    打开apache目录下的conf/httpd.conf  搜索   "Listen 80";
    修改为Listen 8088;
    保存之后再重新启动apache。



简单使用说明:

   发送get请求:ab -n100 -c10 http://127.0.0.1:90/Home/Login

   -n100表示请求1000次   -c10表示模拟10个用户

   返回结果如图:

  





    

   返回结果数据说明

Document Path: /Home/Login
#测试的页面
Document Length: 50797 bytes
#页面大小

Concurrency Level: 10
#测试的并发数
Time taken for tests: 1.110 seconds
#整个测试持续的时间
Complete requests: 1000
#完成的请求数量login.txt
Failed requests: 0
#失败的请求数量
Write errors: 0
Total transferred: 7045000 bytes
#整个过程中的网络传输量
HTML transferred:6705000 bytes
#整个过程中的HTML内容传输量
Requests per second: 900.85 [#/sec] (mean)
#最重要的指标之一,相当于LR中的每秒事务数,后面括号中的mean表示这是一个平均值
Time per request: 11.101 [ms] (mean)
#最重要的指标之二,相当于LR中的平均事务响应时间,后面括号中的mean表示这是一个平均值
Time per request: 1.110 [ms] (mean, across all concurrent requests)
#每个连接请求实际运行时间的平均值
Transfer rate: 6197.74 [Kbytes/sec] received
#平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
Connection Times (ms)
min      mean[+/-sd]     median           max
Connect:  0     0 0.4             0         6
Processing: 2     11 .....
Waiting:          2       .....
Total:               2    .....
#网络上消耗的时间的分解。

Percentage of the requests served within a certain time (ms)
  50%     10
  66%     11
  75%     13
  80%     14
  90%     17
  95%     21
  98%     28
  99%     54
 100%     67 (longest request)


post测试 

     命令: ab -n1 -c1 -v4  -p "login.txt" -T "application/x-www-form-urlencoded" "http://127.0.0.1:90/Home/UserLogin"

  -v4  表示要输入返回结果

    -p 表示要用当前login.txt文件中的数据做post参数,也可以放json数据不过需要做urlencode转换


login.txt中的内容例如userName=t1&password=123456,要保存为ANSI格式。

     如果需要加上cook来保持与服务器的链接 则可以添加参数例如

-C  "ASP.NET_SessionId=k0ukipotptcdaeze11cztfik"

ab -n100 -c10 -v4  -C "ASP.NET_SessionId=k0ukipotptcdaeze11cztfik"  -p "postData\sign.txt" -T "application/x-www-form-urlencoded" "http://127.0.0.1:90/xxx/xxx"  

注意 参数和url 都需要双引号!

  


 



     



猜你喜欢

转载自blog.csdn.net/Asa_Jim/article/details/71637355