Apache Bench简单使用

8 篇文章 0 订阅
订阅专栏
初识Apache Bench

Apache Bench 是 Apache 服务器的一个web压力测试工具,简称ab。ab也是一个命令行工具,对发起负载的本机要求很低,根据ab命令可以创建很多的并发访问线程,模拟多个访问者同时对某一个URL地址进行访问,因此可以用来测试目标服务器的负载压力。总体来说,ab工具小巧简单,上手学习较快,可以提供需要的基本性能指标;但是缺点就是没有图形化结果,不能监控。

安装Apache Bench

要使用ab,首先要下载Apache服务器,从Apache官网首页可以找到下载的页面。我这里需要在Windows环境下进行ab的安装与使用。我个人亲测Apache Lounge可用,具体地址如下: Apache Lounge下载地址 。

Apache Lounge下载页面

Apache Lounge下载页面

进入页面之后,根据自己需要下载32位和64位版本。这里要注意的是,要正常运行Apache 2.4 的话,需要先安装最新版C++ Redistributable Visual Studio 2017组件,也可以在这个页面进行下载。组件安装完成之后,把下载好的Apache解压(最好解压在C盘根目录下,不然可能会出问题),会发现里面有个ReadMe的文档,一定要好好看一下,涉及到安装环境和注意事项。

ReadMe文档

在这里插入图片描述
这些步骤准备好了之后,就可以运行bin目录下的httpd.exe文件,but 在运行httpd.exe文件后,提示下面这个错误码,别慌,下面教你怎么解决。

AH00558: apache2: httpd: Could not reliably determine the server's fully qualified domain name, using xxx Set the 'ServerName' directive globally

这是因为未配置域名服务器或者域名服务器未能找到该域名的地址。

修改位置:安装目录中的Apache24/conf / 的文件httpd.conf
打开文件查找ServerName

#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80

根据自己的需求添加地址和端口号 比如可以添加本地地址

#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80
ServerName localhost

运行之后后台服务就启动了,这时候在浏览器中输入:http://localhost/,如果能够看到测试页面,就说明服务启动成功了。
在这里插入图片描述

Apache bench 使用

这时候我要开始使用Apache Bench的功能了,winwin+R,输入cmd, 在命令行下执行C:\Apache24\bin\ab.exe,回车,备注:ab.exe这个文件目录,其实就是运行ab.exe这个文件,跳转到bin目录下,运行ab.exe就能够看到提示信息了:

C:\Users\ql>C:\Apache24\bin\ab.exe
C:\Apache24\bin\ab.exe: wrong number of arguments
Usage: C:\Apache24\bin\ab.exe [options] [http://]hostname[:port]/path
## 用法:C:\ Apache24\bin\ab.exe[选项][http://]主机名[:端口]/path

选项:
Options are:
    -n requests         #执行的请求数,即一共发起多少请求。
    -c concurrency      #请求并发数。
    -t timelimit        #测试所进行的最大秒数。其内部隐含值是-n 50000,它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限制。
    -s timeout          #指定每个请求的超时时间,默认是30秒。
    -b windowsize       #指定tcp窗口的大小,单位是字节。
    -B address          #指定在发起连接时绑定的ip地址是什么。
    -p postfile         #指定要POST的文件,同时要设置-T参数。
    -u putfile          #指定要PUT的文件,同时要设置-T参数。
    -T content-type     #指定使用POST或PUT上传文本时的文本类型,默认是'text/plain'。
    -v verbosity        #设置详细模式等级。
    -w                  #将结果输出到html的表中。
    -i                  #使用HEAD方式代替GET发起请求。
    -y attributes       #以表格方式输出时,设置html表格tr属性。 
    -z attributes       #以表格方式输出时,设置html表格th或td属性。
    -C attribute        #添加cookie,比如'Apache=1234'。(可重复)
    -H attribute        #为请求追加一个额外的头部,比如'Accept-Encoding: gzip'。(可重复)
    -A attribute        #对服务器提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即,是否发送了401认证需求代码),此字符串都会被发送。
    -P attribute        #对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即, 是否发送了401认证需求代码),此字符串都会被发送。
    -X proxy:port       #指定代理服务器的IP和端口。
    -V                  #打印版本信息。
    -k                  #启用HTTP KeepAlive功能,即在一个HTTP会话中执行多个请求。默认时,不启用KeepAlive功能。
    -d                  #不显示"percentage served within XX [ms] table"的消息(为以前的版本提供支持)。
    -q                  #如果处理的请求数大于150,ab每处理大约10%或者100个请求时,会在stderr输出一个进度计数。此-q标记可以抑制这些信息。
    -g filename         #把所有测试结果写入一个'gnuplot'或者TSV(以Tab分隔的)文件。此文件可以方便地导入到Gnuplot,IDL,Mathematica,Igor甚至Excel中。其中的第一行为标题。
    -e filename         #产生一个以逗号分隔的(CSV)文件,其中包含了处理每个相应百分比的请求所需要(从1%到100%)的相应百分比的(以微妙为单位)时间。由于这种格式已经“二进制化”,所以比'gnuplot'格式更有用。
    -r                  #当收到错误时不要退出。
    -h                  #输出帮助信息
    -Z ciphersuite      #指定SSL/TLS密码套件
    -f protocol         #指定SSL/TLS协议(SSL3, TLS1, TLS1.1, TLS1.2 or ALL)

这里可以注意到一个用法说明:Usage: ab.exe [options] [http://]hostname[:port]/path。也就是说,一定要在需要测试的url末尾加一个path,否则测试时会认为url非法。

模拟压测某个网站

这里我先尝试一下对百度首页进行一个请求总数为1000,本次请求并发数为500的测试,测试结果如下:

C:\Users\ql>C:\Apache24\bin\abs.exe -n 1000 -c 500 https://www.baidu.com/path
This is ApacheBench, Version 2.3 <$Revision: 1874286 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.baidu.com (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests


Server Software:        Apache                 # 平台前端服务器类型          
Server Hostname:        www.baidu.com          # 服务器主机名
Server Port:            443                    # 服务器端口
SSL/TLS Protocol:                              # SSL/TLS协议
Server Temp Key:                               # 服务器临时密钥
TLS Server Name:        www.baidu.com          # 服务器名称

Document Path:          /path                  # 访问的路径
Document Length:        222 bytes              # 返回数据大小

Concurrency Level:      500                    # 并发数
Time taken for tests:   67.890 seconds         # 整个测试持续的时间
Complete requests:      502                    # 完成的请求数量
Failed requests:        0                      # 表示失败的请求数,这里的失败是指请求的连接服务器、发送数据、接收数据等环节发生异常,以及无响应后超时的情况。对于超时时间的设置可以用ab的-t参数。而如果接受到的http响应数据的头信息中含有2xx以外的状态码,则会在测试结果显示另一个名为“Non-2xx responses”的统计项,用于统计这部分请求数,这些请求并不算是失败的请求
Non-2xx responses:      503                    #
Total transferred:      243452 bytes           # 整个场景中的网络传输量,表示所有请求的响应数据长度总和,包括每个http响应数据的头信息和正文数据的长度。注意这里不包括http请求数据的长度,所以Total transferred代表了从Web服务器流向用户PC的应用层数据总长度。通过使用ab的-v参数即可查看详细的http头信息
HTML transferred:       111666 bytes           # 整个场景中的HTML内容传输量,表示所有请求的响应数据中正文数据的总和,也就是减去了Total transferred中http响应数据中头信息的长度
Requests per second:    7.39 [#/sec] (mean)    # 每秒钟平均处理的请求数(相当于 LR 中的 每秒事务数)这便是我们重点关注的吞吐率,它等于:Complete requests / Time taken for tests
Time per request:       67620.001 [ms] (mean)  # 每次并发请求时间(当前并发500)
Time per request:       135.240 [ms] (mean, across all concurrent requests)  # 平均每个请求处理时间,所有并发的请求加一起
Transfer rate:          3.50 [Kbytes/sec] received  # 平均每秒网络流量

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       26 4253 2144.6   5024   15452     # 连接
Processing:    31 13714 8087.7  12729   46074    # 处理
Waiting:        9 6795 6661.9   1055   45975     # 等待
Total:       6363 17967 8007.4  13257   61446    # 总量

Percentage of the requests served within a certain time (ms)
  50%  13257       # 50%的用户响应时间小于13257毫秒
  66%  24676       # 66%的用户响应时间小于24676毫秒
  75%  25675       # 以此类推...
  80%  25714
  90%  28132
  95%  28728
  98%  29712
  99%  29713
 100%  61446 (longest request)
例子
# 模拟1个客户端请求100次:
$ ab -n 100 http://www.example.com/

# 模拟100个客户端请求10000次
$ ab -n 10000 -c 100 http://www.example.com/

# 调用POST方法的接口10次,传输的数据格式为JSON
$ ab -n 10 -p json-file http://www.example.com/

# 调用OPTIONS方法的接口10次
$ ab -n 10 -m OPTIONS http://www.example.com/

# 输出每次请求的返回信息
$ ab -n 10 -v 2 http://www.example.com/

Apache压测工具ab(Apache Bench)工具的下载安装和使用示例
BADAO_LIUMANG_QIZHI的博客
07-22 1370
上面讲压测工具Jmeter的使用,下面介绍另外一个ab(Apache Bench)压测工具的使用
ApacheBench(ab)使用详解
编程哲学家的专栏
08-29 816
ab命令原理 Apache的ab命令模拟多线程并发请求,测试服务器负载压力,也可以测试nginx、lighthttp、IIS等其它Web服务器的压力。 ab命令对发出负载的计算机要求很低,既不会占用很多CPU,也不会占用太多的内存,但却会给目标服务器造成巨大的负载,因此是某些DDOS攻击之必备良药,老少皆宜。自己使用也须谨慎。否则一次上太多的负载,造成目标服务器直接因内存耗光死机,而不得不硬重启,得不偿失。 在带宽不足的情况下,最好是本机进行测试,建议使用内网的另一台或者多台服务器通过内网进行测试,这..
压力测试工具Apache Bench实现原理及用法解析
09-08
主要介绍了压力测试工具Apache Bench实现原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
性能工具之 Apache Bench 入门使用
Mo小泽的技术博客
06-28 905
文章目录一、背景二、快速安装三、快速使用四、关于登录的问题五、总结 一、背景 ab 全称为:apache bench,ab 为小型压力工具,对于在 Linux 中简单压测 HTTP 接口轻巧灵活。 在官网上的解释如下: ab是Apache超文本传输协议(HTTP)的性能测试工具。其设计意图是描绘当前所安装的Apache的执行性能,主要是显示你安装的Apache每秒可以处理多少个请求。 apache官网:http://httpd.apache.org/ 二、快速安装 这里以 CentOS 7.X 系统为例
Apache Bench (AB) 性能测试工具全面指南:安装、使用和结果分析
最新发布
欢迎来到软件测试jeffky博客!在这里,我们将探讨各种与软件测试相关的主题,包括测试策略、方法、工具、最佳实践和行业趋势。我们的目标是帮助读者提高软件质量,确保用户满意度,并分享在软件测试领域的知识和经验。
08-07 1596
Apache Bench 是一个简约但功能强大的命令行工具,设计用于执行基准测试。它可以对服务器进行压力测试,以测量服务器能够承受的最大请求数量,以及服务器在特定请求数量下的响应时间。Apache BenchApache HTTP Server 项目的一部分,但它可用于测试任何 Web 服务器。案例描述测试服务器对自定义HTTP头的响应。使用方法使用-H参数可以添加自定义的HTTP头。结果分析通过自定义HTTP头,可以模拟不同用户代理的请求,这对于测试服务器对不同浏览器的兼容性非常有用。
ApacheBench测试工具使用指南
精致-简洁-唯美
12-01 266
服务器负载太大而影响程序效率也是很常见的,Apache服务器自带有一个叫AB(ApacheBench)的工具,在bin目录下。使用这个轻巧的工具我们可以对服务器进行负载测试, 基本用法: ab -n 全部请求数 -c 并发数 测试url 例:ab -n 1000 -c 50 http://www.abc.com/a.php 得到结果类似于(后面颜色字为中文翻译): Server S...
网站性能测试工具?ApacheBench
01-20
对于网站性能测试来说,一般我们会使用loadrunner来实现,而它过于庞大,使我们感到有些不爽,而介绍的ApacheBench工具,它小而精,使用简单,效果直观,可以说,是比lr更好用的性能测试工具.  下面介绍几个概念 ...
如何通过Apache Bench实现web压力测试
01-09
 ApacheBenchApache 服务器自带的一个web压力测试工具,简称ab。ab又是一个命令行工具,对发起负载的本机要求很低,根据ab命令可以创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问,因此可以...
boom:AB(Apache Bench)的替代品
03-31
是专门为替换我的Apache Bench用法而编写的,以提供一些缺少的功能并解决我在AB上遇到的烦恼。 我对这个工具没有特别的野心,而且由于我在Python领域还没有找到任何类似的工具,因此我编写了这个工具。 还有很多...
压力测试工具ab(Apache Bench)的使用
01-09
1. ab工具介绍   ab全称为:apache bench。   在官网上的解释如下:   ab是Apache超文本传输协议(HTTP)的性能测试工具。其设计意图是描绘当前所安装的Apache的执行性能,主要是显示你安装的Apache每秒可以处理多少个请求。   ab其实是apache服务器自带的压力测试工具。但它除了可以对apache服务器进行压力测试之外,也可以对其它类似web server进行压力测试,比如nginx、tomcat、IIS等等。   linux系统下安装过apache httpd服务后可以直接使用ab测试工具了,否则,可以到其官网下载安装,地址是 http:/
Windows下的ApacheBench
09-27
Windows下的ApacheBench。网站压力测试神器。
性能测试工具 ab(Apache Bench使用详解
jkzyx123的博客
04-07 1157
性能测试工具 ab(Apache Bench使用详解
Apache Bench 到底应该怎么用?
chuzhen2600的博客
06-09 190
吐槽: 先来吐个槽,交代一下故事背景,楼主接手这个服务端开发刚刚完成了一个服务端项目,需要做并发测试,之前也没有怎么接触过这块的东西,请教大哥得到两个字母:ab,科普了一下,大致了解到这是一个神器。我需要对一个多媒体上传服务做并发测试,按照国内各大论坛的搞法没有一个交代清楚的...
Apache Bench安装与使用
u013938578的博客
03-20 1018
1 Apache Bench简介Apache BenchApache 服务器自带的一个web压力测试工具,简称 ab。ab 非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等。
压测工具ApacheBench的入门教程
leone的博客
05-06 4563
ApacheBench ApacheBench 是一个指令列程式,专门用来执行网站服务器的运行效能,特别是针对Apache 网站服务器。这原本是用来检测 Apache 网站服务器能够提供的效能,特别是可以看出Apache能提供每秒能送出多少网页。 ApacheBench( ab )工具程式是标准 Apache 网站服务器发布的一部分,跟 Apache 网站服务器一样,也是免费软件,并可以用 Apa...
Apache Bench怎么使用
04-04
以下是使用Apache Bench的步骤: 1. 安装Apache Bench Apache Bench通常是随着Apache Web服务器一起安装的。如果您没有安装Apache,您可以单独安装Apache Bench,具体步骤可以参考Apache Bench的官方文档。 2. ...
写文章

热门文章

  • Another Redis Desktop Manager 下载及安装 8569
  • Autofill简单使用 7516
  • 03.使用嵌套循环输出2~100之间的素数 5380
  • Linux date命令 crontab每个月最后一天 4152
  • postman断言示例:Status code:Code is 200 3715

分类专栏

  • Jmeter 6篇
  • 效率工具 8篇
  • Linux 3篇
  • 笔记 1篇
  • Python 3篇
  • selenium IDE 1篇
  • postman 5篇
  • Redis 1篇
  • Charles 2篇
  • YAPI 1篇

最新评论

  • es可视化工具es-client

    普通网友: 你的博客内容深入浅出,总是让我不再感到学习的困难,每一篇博文都是我学习的宝库。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • es可视化工具es-client

    普通网友: 学到了,细节很到位!【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • es可视化工具es-client

    普通网友: 大佬的文章写的太精辟了 让我深刻了解了这篇文章的精髓 谢谢大佬分享,希望继续创作优质博文。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • Charles简单教程

    亚索不会吹风: charles教程文章写的有点东西啊大佬,欢迎回访我的博客

  • Autofill简单使用

    Tsang_GeeChill: 我是在鼠标右键,为页面添加规则就自动生成这些选项的,不需要其它操作

大家在看

  • 交互动画设计-help-assignment 190
  • [241022]X-CMD 发布 v0.4.13:mac disk 命令,调整 ping 模块,advise 支持多种命令补全加载模式
  • 给前端小白的一封信:Web前端学习之路——从入门到精英的成长指南
  • 详细教程:Postman测试WebService接口
  • 基于springboot的形成性学生考核管理系统

最新文章

  • Jmeter之操作redis缓存key(string、hsah)
  • es可视化工具es-client
  • Charles抓取Jmeter数据
2024年6篇
2021年20篇
2020年4篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家玻璃钢雕塑观音赣州特色玻璃钢雕塑生产厂家珠海玻璃钢卡通雕塑摆件池州学校玻璃钢雕塑订做价格贺州玻璃钢塑料雕塑河北室内商场美陈研发公司佛山玻璃钢葫芦娃雕塑拱墅商场美陈商丘玻璃钢卡通动物雕塑厂家销售玻璃钢雕塑表面打磨怎么补北京通道商场美陈采购四川玻璃钢仿生雕塑镜面玻璃钢雕塑哪家专业室外校园玻璃钢景观雕塑制造玻璃钢动物雕塑 驴工艺品玻璃钢雕塑设计厂家江西玻璃钢铜鹤雕塑海口玻璃钢彩绘雕塑舞钢玻璃钢立体人物雕塑玻璃钢卡通雕塑价位玻璃钢雕塑护木保定口碑好玻璃钢雕塑规格尺寸吉林水果玻璃钢雕塑批发玻璃钢美术雕塑新乡玻璃钢雕塑铸造工艺安顺玻璃钢座椅雕塑厂家开封镜面玻璃钢卡通雕塑江西景区玻璃钢雕塑价位驻马店佛像玻璃钢彩绘雕塑商场美陈方案dp点香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化