码迷,mamicode.com
首页 > Web开发 > 详细

Web压力测试工具 ab

时间:2015-08-25 16:21:47      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

  • ab是apache自带的一款功能强大的测试工具、非常容易使用、并且完全可以模拟各种条件对Web服务器发起测试请求
  • ab可以直接在Web服务器本地发起测试请求,这对于需要了解服务器的处理性能至关重要,因为它不包括数据的网络传输时间以及用户PC本地的计算时间
  • 安装了apache一般就自带了

ab 的用法

  • ab [options] [http://]hostname[:port]/path
  • 例如:ab -n 10000 -c 200 http://localhost/index.php
  • 上例表示总共访问http://localhost/index.php这个脚本10000次,200并发同时执行。

 ab常用参数的介绍:

  • -n :总共的请求执行数,缺省是1
  • -c: 并发数,缺省是1
  • -t:测试所进行的总时间,秒为单位,缺省50000s
  • -p:POST时的数据文件
  • -w: 以HTML表的格式输出结果

开始来模拟压 


[root@vforbox ~]# ab -n 1000 -c 100 -w http://192.168.1.187/phpinfo.php >>/test/1.html 
  //测试用表示100并发的情况下,共测试访问phpinfo.php脚本1000次,并将测试结果追加到/test/1.html文件中。
  
----------------------------------------------------------------------------------------------- 2 This is ApacheBench, Version 2.3 <$Revision: 655654 $> 3 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ 4 Licensed to The Apache Software Foundation, http://www.apache.org/ 5 Server Software: Apache/2.2.15             6 Server Hostname: 192.168. 7 Server Port: 8 Document Path: /phpinfo.php         <---  请求的URL中的根绝对路径 9 Document Length: 55814 bytes        <---  HTTP响应数据的正文长度 10 Concurrency Level: 100          <---  并发用户数,这是我们自定义设置的参数 11 Time taken for tests: 1.123 seconds  <---  所有这些请求被处理完成所要花费的时间 12 Complete requests: 1000       <---  总请求数,这里也是我们自定义设置的参数 13 Failed requests: 0  <--- 失败的请求数,这里的失败指的是请求在连接服务器、发送数据、接收数据环节发送异常,以及无响应超时等情况 14 Total transferred: 56044544 bytes   <---  所有请求的响应数据长度总和,包括HTTP响应的头信息和正文数据的长度 15 HTML transferred: 55872200 bytes      <---  所有请求的响应数据中正文数据的总和 16 Requests per second: 890239.68         <---  服务器吞吐率(我们需要关注的) 17 Transfer rate: 49893076.87 kb/s received     <---  用户平均请求的等待时间 18 Connnection Times (ms)                   <---  网络上消耗的时间分解,不太清楚 19 min avg max 20 Connect: 0 3 32 21 Processing: 43 102 113 22 Total: 43 105 145
  • 在100并发访问的情况下,共测试访问1000次,失败了0次。该脚本在此环境满足100并发访问的要求。

 总结:

  • 如果对于远程的Web服务器测试,效果不太明显,主要是网络延时过大
  • 笔者建议使用内网的另一台或者多台服务器通过内网进行测试,这样得出的来的数据,准确比远程高很多
  • 如果只有单独的一台服务器,不要进行远端测试,可以直接本地测试

Web压力测试工具 ab

标签:

原文地址:http://www.cnblogs.com/vforbox/p/4757312.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!