安装步骤:https://blog.csdn.net/ahaaaaa/article/details/51514175

在Windows系统下,打开cmd命令行窗口,定位到apache安装目录的bin目录下

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

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

(ab -t 60 -c 100 https://www.baidu.com/index.html   在60秒内发请求,一次100个请求。 )

//如果需要在url中带参数,这样做 
ab -t 60 -c 100 -T "text/plain" -p p.txt https://www.baidu.com/index.html
p.txt 是和ab.exe在一个目录 
p.txt 中可以写参数,如  p=wdp&fq=78 

  测试报告

  

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

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=227 bytes*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   maxConnect:       47   74  12.9     74     106Processing:     9   32  20.2     32     106Waiting:        9   29  19.1     27      98Total:         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%    10666%    10975%    11180%    11490%    11895%    15498%    17699%    195100%    195 (longest request)//这个表第一行表示有50%的请求都是在106ms内完成的,可以看到这个值是比较接近平均系统响应时间(第一个Time per request:       109.287 [ms] (mean) )

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

转载于:https://www.cnblogs.com/wang666/p/9007066.html

利用 apache ab 测试服务器性能相关推荐

  1. 利用Apache ab以及GNUPlot来进行Web测试

    最近写了几个测试脚本,希望要观察使用PUT方式上传文件和使用POST方式上传文件,两者效率的差别. 分别是: put_client.php          模拟客户端发送PUT请求 put_serv ...

  2. 利用Apache的ab命令做Benchmark性能测试

    测试系统性能,例如httpsqs # ab -k -c 10 -n 100000 "http://127.0.0.1:1218/?name=xoyo&opt=put&data ...

  3. 性能/压力测试工具Apache ab修改:按时间进行性能/压力测试

    需求: 在对Nginx module 采用Aapche ab进行性能和压力测试的过程中发现: 1. 对于不同的并发线程,相同的请求数,性能/压测所需要的时间变化比较大: 2. 对于高并发的情况下,千万 ...

  4. apache ab test使用 单独安装ab和htpasswd

    apache ab test使用 apache ab test使用 单独安装ab和htpasswd 转载自: http://www.cnblogs.com/super-d2/p/3831155.htm ...

  5. Web 压力测试工具 --Apache AB

    AB(ApacheBench)是Apache自带的超文本传输协议(HTTP)性能测试工具. 其设计意图是描绘当前所安装的Apache的执行性能, 主要是显示Apache每秒可以处理多少个请求. 该工具 ...

  6. 利用 NGINX 最大化 Python 性能,第二部分:负载均衡和监控

    [编者按]本文主要介绍 NGINX 的主要功能以及如何通过 Nginx 优化 Python 应用性能.本文系国内 ITOM 管理平台 OneAPM 编译呈现. 本文上一篇系: 利用 NGINX 最大化 ...

  7. 开源的类似于Apache ab的压力测试命令行工具SuperBenchmarker

    SuperBenchmarker 是ㄧ个开源的类似于Apache ab的压力测试命令行工具.可以在 .NET 4.52+ 或者 .NET Core 2.0+ 平台上运行. 可支持Get.Post.Pu ...

  8. Apache Spark Jobs 性能调优(一)

    Apache Spark Jobs 性能调优(一) Spark 是如何执行程序的 选择正确的 Operator 什么时候不发生 Shuffle 什么情况下 Shuffle 越多越好 二次排序 结论 当 ...

  9. apache ab 压测

    ab是Apache超文本传输协议(HTTP)的性能测试工具. 其设计意图是描绘当前所安装的Apache的执行性能, 主要是显示你安装的Apache每秒可以处理多少个请求. 概要 ab [ -A aut ...

最新文章

  1. Android Acitivity 生命周期
  2. Lync 2010迁移Lync 2013 PART8:部署新边缘
  3. 为DataGrid创建自定义列控件(四)
  4. Python解释器工作原理与jit技术
  5. Linux的slab和nginx的区别,Nginx核心知识100讲》nginx Slab管理器
  6. 软件测试—软件测试基础知识—(五)软件测试模型
  7. .NET下,你采用的哪种方式来操作数据库
  8. 第六次全国人口普查数据分析
  9. worklist 设备对接,pe 为例
  10. PJzhang:如何在裸奔的年代找到一些遮羞布
  11. java微信登录_java微信授权登陆
  12. mysql优化 个人笔记 (mysql 主从复制 ) 非礼勿扰 -m11
  13. English常用短语
  14. centos7 SFTP
  15. 解决centos8 中安装mysql5.7.26时 libtinfo.so.5()(64bit)被依赖的问题
  16. 看看Gin框架是如何实现的
  17. django models报错Manager isn‘t accessible via UserInfo instances
  18. (附源码)计算机毕业设计SSM建筑工地环保监控系统研究
  19. 2500php,Ryzen 5 2500U的性能评测
  20. 我自己的java基础

热门文章

  1. java applet 游戏_Java Applet实现五子棋游戏
  2. javaweb mysql 连接池 c3p0 配置_JavaWeb基础—数据库连接池DBCP、C3P0
  3. 大闹天竺里的机器人_在《大闹天竺》中哪一位演员是你喜欢的
  4. java parseint null_java.lang.NumberFormatException: null Integer.parseInt的方法错误 具体问题代码在补充 到底怎么更改...
  5. ansible(自动化运维下)——yaml语言,Role-角色扮演
  6. 大数据面试题及答案 汇总版
  7. u9系统的使用方法仓库_新风系统如何使用 新风系统使用方法介绍【图文】
  8. linux var目录满了,Linux入门教程:/var/spool/clientmqueue 占满根目录
  9. linux cgi命令,Linux之cgi实现系统主机监控
  10. c语言学生考勤系统课设报告,C语言课程设计总结报告学生考勤系统设计