实战-如何使用apache ab性能工具进行压力测试

Posted Coding测试

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实战-如何使用apache ab性能工具进行压力测试相关的知识,希望对你有一定的参考价值。

作为测试攻城狮来说,除了测试业务需求之外,还需要考虑的就是被测的服务性能,在大并发下是否能正常运行了。但是,在一般开发情况下,没那么多大并发情况让你测试,那该怎么办呢?
这时候,我们就可以用到apache的压力测试工具了,apache bench简称ab。

1、介绍

ab是apache自带的压力测试工具,ab是apache bench命令的缩写。
当安装完apache后,就可以在bin下面找到ab.exe然后进行apache 负载压力测试。

实战-如何使用apache ab性能工具进行压力测试实战-如何使用apache ab性能工具进行压力测试

ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。
ab命令对发出负载的计算机要求很低,它既不会占用很高CPU,也不会占用很多内存。但是自己测试使用也需要注意,否则一次上太多的负载。可能造成目标服务器资源耗完,严重时甚至导致死机。

2、简单使用

ab压力测试工具使用非常简单,只需一个命令即可。
示例:ab -n 200000 -c 20000 http://192.168.1.179/ >>d:1.html
-n:请求数
-c:并发数
上面的示例表示:每次并发20000个请求,总共请求200000次,并把结果输出到指定文件里。
实战-如何使用apache ab性能工具进行压力测试
执行结果:
实战-如何使用apache ab性能工具进行压力测试

3、结果参数说明

参数说明:
Document Length: 315 bytes HTTP响应数据的正文长度
Time taken for tests: 0.914 seconds 所有这些请求处理完成所花费的时间
Complete requests: 800 完成请求数
Failed requests: 0 失败请求数
Total transferred: 393600 bytes 网络总传输量
HTML transferred: 252000 bytes HTML内容传输量
Requests per second: 875.22 [#/sec] (mean) 吞吐量-每秒请求数
Time per request: 914.052 [ms] (mean) 服务器收到请求,响应页面要花费的时间
Time per request: 1.143 [ms] (mean, across all concurrent requests) 并发的每个请求平均消耗时间
Transfer rate: 420.52 [Kbytes/sec] received 平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
网络上消耗的时间的分解:
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 0.5 1 3
##连接的最小时间,平均值,中值,最大值
Processing: 245 534 125.2 570 682
Waiting: 11 386 189.1 409 669
Total: 246 535 125.0 571 684
整个场景中所有请求的响应情况。在场景中每个请求都有一个响应时间
其中 50% 的用户响应时间小于 571 毫秒
80 % 的用户响应时间小于 652 毫秒
最大的响应时间小于 684 毫秒
实战-如何使用apache ab性能工具进行压力测试

推荐阅读






 
   
   
 
长按,扫码,关注
及时收看更多精彩内容
专注:软件测试技术探索与分享

以上是关于实战-如何使用apache ab性能工具进行压力测试的主要内容,如果未能解决你的问题,请参考以下文章

Apache网页深入优化——ab压力测试,工作模式

如何使用Apache的ab工具进行网站性能测试

Apache 的 ab 压测工具快速使用

如何使用Apache的ab工具进行网站性能测试

如何使用Apache提供ab压力测试工具进行压力测试

如何使用 Apache ab 以及 OneAPM 进行压力测试?