使用apache的ab工具做压力测试

Ab 命令简介

    你是否在苦恼于想对一些系统做压力测试,但是又没有找到简单方便的工具?其实在 apache 里 面就自带了一些这样的测试工具—ab(apache benchmark)。此工具在安装在apache 的 bin 目录下面。Ab 可以直接在 web 服务器本地发起测试,也可以在远程发起测试。
    Ab 测试的本质是模http请求,所以可以将它看做是对于Web 服务器软件的黑盒性能测试, 它获得的一切数据和计算结果,都可以途过HTTP来解释。

启动测试

如现在我们要对 www.qq.com  做一次测试,使用方法如下。在 windows 下面打开命令行,进入到 apache 的 bin 目录下面,或者将 apache 的 bin 目录添加到系统的环境发量的 path 下面。
输入 ab –n 100 –c 10 http://www.qq.com/
然后按回车,可以出现如下的内容:
ab-test-result
此命令解释:
-n 100
表示总请求数为 100
-c 10
表示并发用户数为 10
Http://www.qq.com/
表示请求的目标 URL,也就是要测试的目标地址。

结果详解

  • Server Software
    表示被测试的 Web 服务器软件名称,返回的 squid/3.0,它来自于http响应数据的头信息,所
    以如果这里是我们自己编写的 Web 服务器软件或者修改开源的 web 服务器软件的源代码,返里的 信息可以为我们自定义的头信息。
  • Server hostname
    表示请求的 URL 中的主机部分名称,它来自于http请求数据的头信息。
  • Server port
    表示被测试的 web 服务器软件的监听端口。
  • Document Path
    表示请求的 URL 中的根的绝对路径,它同样来自于HTTP请求数据的头信息,通过它的后缀名, 我们一般可以了解该请求的类型。
  • Document Length
    表示 HTTP 响应数据的正文的数据长度。
  • Concurrency Level
    表示并发用户数,返里数据就是我们前面设置的-c 的数值。
  • Time taken for tests
    表示所有返些请求被处理完成所花费的总时间。
  • Complete requests
    表示为请求数,这是我们前面设置的-n 的参数值。
  • Failed requests
    表示失败的请求数,这里的失败是指请求在连接服务器、发送数据、接收数据等环境节发生异常, 以及无响应超时的情况。对于超时时间的设置可以使用 ab 的-t 参数,
    如果接收到的 http 响应数据的头信息中含有 2xx 以外的状态码,则会在测试结果显示另一个名 为“Non-2xx response”的统计项,用户统计这部分请求数,这些请求并不算是失败的请求。
  • Total transferred
    表示所有请求的响应数据长度总和,包括每个 http 响应数据的头信息和正文数据的长度。注意 这里不包括 http 请求数据的长度,所以 Total transferred 代表了仅 Web 服务器流向用户 PC 的应用层数据总长度。通过使用 ab 的-v 参数即可查看详细的 http 头信息。
  • HTML transferred
    表示所有请求的响应数据中正文数据的总和,也就是减去了 Total transferred中 http 响应数据中头信息的长度。
  • Request per second
    这里的值就是吞吐率,它等于
  • Complete request /Time taken for testsTime per request
    这里的值是用户平均请求等待时间,它等于
    Time taken for tests /(complete requests/Concurrency level)
  • Time per request(across all concurrent requests)
    这里的值是服务器的平均请求处理时间,它等于 Time taken for tests/complete requests 返回值正是吞吐率的倒数。同时,它也等于 Time per request/Concurrency Level
  • Transfer rate
    表示这些请求在单位时间内从服务器获取数据的长度,它等于 Total transferred /Time taken for tests
    这个统计项可以很好的说明服务器在处理能力达到极限时,其出口带宽的需求量。
  • Percentage of the requests served within a certain time(ms)
    这部分数据用于描述每个请求处理时间的分布情总,比如在上面的测试结果中,50%的请求处理 时间在 5200ms 内,99%的请求在 18022ms 内。注意这里的处理时间,是指前面的 Time per request, 即对于单个用户而言,平均每个请求处理的时间。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值