ab是Apache HTTP server benchmarking tool的缩写,可以用以测试HTTP请求的服务器性能,也是业界比较流行和简单易用的一种压力测试工具包

## 下载

下载地址:(https://www.apachehaus.com/cgi-bin/download.plx)

## 解压

将解压的bin目录用命令行打开

## 测试
```
ab -n 100 -c 10 http://test_url
# -n 表示请求数,-c 表示并发数. -t 表示多少s内并发和请求

```

文档在此:http://httpd.apache.org/docs/2.0/programs/ab.html

## 结果

```

C:\Users\Administrator\Downloads\httpd-2.4.33-o102o-x64-vc14-r2\Apache24\bin>ab -n 1000 -c 1000  http://192.168.3.162:888/***/tableauServlet
This is ApacheBench, Version 2.3 <$Revision: 1826891 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.3.162 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests

Server Software:
Server Hostname:        192.168.37.162
Server Port:            8999

#请求url
Document Path:          /***/tableauServlet
#页面数据/返回的数据量
Document Length:        63 bytes

#并发数
Concurrency Level:      1000
#共使用了多少时间 
Time taken for tests:   13.182 seconds
#完成请求数
Complete requests:      1000
#失败请求
Failed requests:        0
 
#总共传输字节数,包含http的头信息等
Total transferred:      287000 bytes
#html字节数,实际的页面传递字节数
HTML transferred:       63000 bytes
#每秒多少请求,这个是非常重要的参数数值,服务器的吞吐量
Requests per second:    75.86 [#/sec] (mean)
#用户平均请求等待时间
Time per request:       13181.754 [ms] (mean)
##服务器平均处理时间,也就是服务器吞吐量的倒数
Time per request:       13.182 [ms] (mean, across all concurrent requests)
#每秒获取的数据长度
Transfer rate:          21.26 [Kbytes/sec] received

##连接的最小时间,平均值,中值,最大值
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        4   13 117.5      6    3005
##处理时间66
Processing:    84 7105 4444.4   7583   13086
##等待时间
Waiting:       22 7049 4464.0   7532   13059
##合计时间
Total:         91 7118 4442.9   7589   13092

Percentage of the requests served within a certain time (ms)
  50%   7589
  ## 50%的请求在7589ms内返回 
  66%   9792
  ## 66%的请求在9792ms内返回 
  75%  11526
  80%  11832
  90%  12460
  95%  12778
  98%  12962
  99%  13024
 100%  13092 (longest request)

```

> 修改解压根目录下的conf/httpd.conf文件的端口配置,默认是80端口,应该是被占用了

## API压测:

```

#params.txt文件里面的Json格式的UTF-8编码

./ab -n 500 -c 100 -p 'params.txt' -T 'application/json;charset=utf-8' http://192.1url:/fsfa/tatement

```

## 语法

```

Usage: ab [options] [http[s]://]hostname[:port]/path
用法:ab [选项] 地址

选项:
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)

```

window安装ab压力测试相关推荐

  1. linux下安装ab压力测试工具及ab命令详解

    yum -y install httpd-tools ab -v 查看ab版本 ab --help ab -n1000 -c 10 http://www.buruyouni.com/ http://w ...

  2. 压力测试ab安装 linux,Centos8下安装ab压力测试工具及ab命令详解

    释放双眼,带上耳机,听听看~! 1.ab的简介 ab是apachebench命令的缩写. ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以 ...

  3. Apache ab压力测试工具

    查看apache是否安装 # rpm -qa httpd httpd-2.2.3-63.el5.centos (在apache 版本2以后,apache全部改名为httpd) ab压力测试工具是apa ...

  4. ab压力测试工具linux,【Linux】ApacheBench(ab)压力测试工具

    AB的简介 ab是apachebench命令的缩写. ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试.比 ...

  5. Apache AB 压力测试

    2019独角兽企业重金招聘Python工程师标准>>> Apache AB 压力测试  安装 // 安装工具 yum install httpd-tools 使用 // URL 是网 ...

  6. Apache ab压力测试说明

    转自: http://leepiao.blog.163.com/blog/static/485031302010234352282/ 压力测试是一种基本的质量保证行为,它是每个重要软件测试工 作的一部 ...

  7. 运维之道 | apachebench ab压力测试工具

    apachebench ab压力测试工具 一.ab的原理 ab是apachebench命令的缩写 ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问.它的测试目标是 ...

  8. Apache网页深入优化之ab压力测试、工作模式与目录属性优化

    ab压力测试工具 Apache自带压力测试工具ab,简单易用,且可以模拟各种条件对Web服务器发起测试请求.ab工具可以直接在Web服务器本地发起测试请求,这对于需要了解服务器的处理性能至关重要,因为 ...

  9. apache ab压力测试报错apr_socket_recv

    apache ab压力测试报错(apr_socket_recv: Connection reset by peer (104)) apache 自带的ab工具测试,当并发量达到1000多的时候报错如下 ...

最新文章

  1. iOS:切换视图的第三种方式:UITabBarController标签栏控制器
  2. java 课程设计 计算器_JAVA课程设计-计算器(201521123028 李家俊)
  3. 060_Unicode字符编码
  4. python自动炒股软件下载_python自动股票交易软件
  5. 软件开发模型和软件过程模型_什么是软件和软件过程?
  6. 双11奇迹背后的大数据平台,不喧哗,自有声!
  7. table()函数的使用,提高查询效率
  8. python traceback_Python 列表操作,节后大放送
  9. 2019三星比2018好在哪_2019年全球可穿戴设备销量榜:苹果第一小米第二,华为排名很给力...
  10. python装饰器应用_Python装饰器实现方法及应用场景详解
  11. 程序员创业其实相比其他行业也有一些优势
  12. mysql 多表并列查询_Mysql多表查询(两张独立表,一张关系表)
  13. 《Perl语言入门》
  14. 贪心科技分布式高性能深度实战学习笔记
  15. 中文Win10 任务栏右键菜单是英文
  16. php实例-微信第三方登录
  17. windows.frames
  18. WTG: Windows10企业版中安装Docker
  19. PHP error_reporting
  20. 帝国cms如何导入php模板,帝国cms模板导入导出及模板组功能介绍

热门文章

  1. Oracle数据库培训视频教程 oracle工程师培训视频教程
  2. 2190: 【USACO】Farmer John has no Large Brown Cow
  3. python爬取天猫_Python如何抓取天猫商品详细信息及交易记录
  4. 思考(八十五):IM 服务设计思路
  5. 输出月份英文名java_输出月份英文名 (30 分)
  6. 2022最新中高阶Android面试题总结,Android面试题库
  7. android studio命令行差错,Android Studio构建正常,Gradle命令行失败
  8. 520浪漫代码流星雨
  9. 飞秋(FeiQ)关闭好友上下线提示功能
  10. 找二叉树根节点到叶子结点最长路径