千家信息网

Apache下分析ab性能测试的结果是什么

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家介绍Apache下分析ab性能测试的结果是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一直以来我都是用Loadrunner去做性能测试。Loadrunner实
千家信息网最后更新 2026年11月01日Apache下分析ab性能测试的结果是什么

这篇文章给大家介绍Apache下分析ab性能测试的结果是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

一直以来我都是用Loadrunner去做性能测试。Loadrunner实际上是一个很重的性能测试工具。他的功能很全面,是一把很好的牛刀。

如果我们只是需要对一个页面做简单的性能测试,使用Loadruner这把牛刀就不是一个很好的选择了。

所以就找了把小刀--ab来试试。这把小刀真的是轻巧又锋利,在这里就记录一下对ab测试过程中的一些自己的理解。

我们就拿百度首页来祭刀吧。首先你得有一把刀,也就是安装好Apache,网上教程一大堆就不复述了,本文使用MacBook自带的ab命令进行测试。

测试场景:模拟10个用户,对百度首页发起总共100次请求。

测试命令:ab -n 100 -c 10 https://www.baidu.com/index.html

主要针对ab的测试报告进行解析,有关ab的使用方法改天再新开贴交流。

测试报告:

下面来逐行解释我的理解,以下注释部分有查阅网上资料,但所写内容均为自己理解之后手打内容,希望加入自己的理解之后能让读者更容易理解。

bogon:~ tang$ ab -n 100 -c 10 https://www.baidu.com/index.html

This is ApacheBench, Version 2.3 <$Revision: 1706008 $>

Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

Licensed to The Apache Software Foundation, http://www.apache.org/

//以上为apache的版本信息,与本次测试无关

Benchmarking www.baidu.com (be patient).....done

//以上内容显示测试完成度,本次测试发起请求数量较少,完成较快,无中间过程显示。在请求数量很多时会分行显示当前完成数量。

Server Software: bfe/1.0.8.14 //被测试的服务器所用的软件信息,这里使用的是百度自己开发的反向代理Baidu Front End,类似nginx。

Server Hostname: www.baidu.com //被测主机名

Server Port: 443 //被测主机的服务端口号,一般http请求的默认端口号是80,https默认使用443端口

SSL/TLS Protocol: TLSv1.2,ECDHE-RSA-AES128-GCM-SHA256,2048,128 //加密协议

Document Path: /index.html //请求的具体文件

Document Length: 227 bytes //请求的文件index.html大小

Concurrency Level: 10 //并发级别,也就是并发数,请求中-c参数指定的数量

Time taken for tests: 1.093 seconds //本次测试总共花费的时间

Complete requests: 100 //本次测试总共发起的请求数量

Failed requests: 0 //失败的请求数量。因网络原因或服务器性能原因,发起的请求并不一定全部成功,通过该数值和Complete requests相除可以计算请求的失败率,作为测试结果的重要参考。

Total transferred: 103314 bytes //总共传输的数据量,指的是ab从被测服务器接收到的总数据量,包括index.html的文本内容和请求头信息。

HTML transferred: 22700 bytes //从服务器接收到的index.html文件的总大小,等于Document Length*Complete requests=227bytes*100=22700 bytes

Requests per second: 91.50 [#/sec] (mean) //平均(mean)每秒完成的请求数:QPS,这是一个平均值,等于Complete requests/Time taken for tests=100/1.093=91.50

Time per request: 109.287 [ms] (mean) //从用户角度看,完成一个请求所需要的时间(因用户数量不止一个,服务器完成10个请求,平均每个用户才接收到一个完整的返回,所以该值是下一项数值的10倍。)

Time per request: 10.929 [ms] (mean, across all concurrent requests) //服务器完成一个请求的时间。

Transfer rate: 92.32 [Kbytes/sec] received //网络传输速度。对于大文件的请求测试,这个值很容易成为系统瓶颈所在。要确定该值是不是瓶颈,需要了解客户端和被测服务器之间的网络情况,包括网络带宽和网卡速度等信息。

Connection Times (ms)

min mean[+/-sd] median max

Connect: 47 74 12.9 74 106

Processing: 9 32 20.2 32 106

Waiting: 9 29 19.1 27 98

Total: 66 106 20.8 106 195

//这几行组成的表格主要是针对响应时间也就是第一个Time per request进行细分和统计。一个请求的响应时间可以分成网络链接(Connect),系统处理(Processing)和等待(Waiting)三个部分。表中min表示最小值;mean表示平均值;[+/-sd]表示标准差(Standard Deviation) ,也称均方差(mean square error),这个概念在中学的数学课上学过,表示数据的离散程度,数值越大表示数据越分散,系统响应时间越不稳定。 median表示中位数; max当然就是表示最大值了。

//需要注意的是表中的Total并不等于前三行数据相加,因为前三行的数据并不是在同一个请求中采集到的,可能某个请求的网络延迟最短,但是系统处理时间又是最长的呢。所以Total是从整个请求所需要的时间的角度来统计的。这里可以看到最慢的一个请求花费了195ms,这个数据可以在下面的表中得到验证。

Percentage of the requests served within a certain time (ms)

50% 106

66% 109

75% 111

80% 114

90% 118

95% 154

98% 176

99% 195

100% 195 (longest request)

//这个表第一行表示有50%的请求都是在106ms内完成的,可以看到这个值是比较接近平均系统响应时间(第一个Time per request: 109.287 [ms] (mean))

以此类推,90%的请求是小于等于118ms的。刚才我们看到响应时间最长的那个请求是195ms,那么显然所有请求(100%)的时间都是小于等于195毫秒的,也就是表中最后一行的数据肯定是时间最长的那个请求(longest request)。

关于Apache下分析ab性能测试的结果是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

测试 时间 数据 服务 数量 服务器 性能 内容 网络 系统 也就是 信息 文件 用户 结果 最长 数值 分析 一行 主机 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海挚品互联网科技有限公司 科技和互联网公司 互联网属科技 互联网科技开发公司 互联网科技论文 太原新华互联网科技学校怎么样 华中科技有哪些互联网大佬 阿里巴巴算科技企业还是互联网 科技互联网大厂 互联网软件和科技 互联网还是高科技吗 湖南一路畅行互联网科技 移动互联网年度科技创新 洛阳昕诺飞互联网科技有限公司 深圳市罗太互联网科技有限公司 工业互联网展湾科技股份有限公司 互联网企业科技类企业如何做账 互联网科技手抄报图片 易租星互联网科技有限公司 互联网科技和医药行业 云之行互联网科技 互联网科技保险 伴你行互联网科技有限公司 中盈科技互联网信息有限公司 承德科技产业互联网发展 常德市电业局互联网科技部 知域互联网科技有限公司大骗子 坤平互联网科技 银川新华互联网科技学校是国营吗 互联网科技收购价值
0