记录:今天使用Apache自带的ab进行了程序测压。
1,找到Apache所在文件夹,并进入bin文件夹,可以看到有ab.exe和abs.exe
ab.exe:可执行http类的压力测试
abs.exe:可执行https类的压力测试
2,Win+R进入cmd命令窗口,进入此文件夹下,执行以下命令:abs -n 1000 -c 20 https://www.baidu.com/,图示:
3,参数说明
语法:
ab [Options] [http://]hostname[:port]/path
abs [Options] [https://]hostname[:port]/path
Options 参数:
Options are:
-n 测试的总请求数。默认时,仅执行一个请求。
-c 一次并发请求个数。默认是一次一个。
-H 添加请求头,例如 ‘Accept-Encoding: gzip’,以gzip方式请求。
-t 测试所进行的最大秒数。其内部隐含值是-n 50000。它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限制。
-p 包含了需要POST的数据的文件。
-T POST数据所使用的Content-type头信息。
Options are:
-n requests 本次总请求数
-c concurrency 并发数
-t timelimit 基础压测最大时间(秒),基于-n 50000的情况下最大测试时间,默认不显示。
-s timeout 请求超时时间(秒),默认30秒
-b windowsize 缓冲区大小(字节)
-B address Address to bind to when making outgoing connections
-p postfile POST请求文件,需要设置 -T
-u putfile PUT请求文件. 需要设置 -T
-T content-type POST/PUT请求header中的content-type值,默认是'text/plain'
-v verbosity 显示多少故障信息,1/2/3/4
-w 在html中显示结果
-i 使用head请求,默认是get
-x attributes 设置table属性
-y attributes 设置tr属性
-z attributes 设置th属性
-C attribute 添加cookie, 如:'Apache=1234',可重复
-H attribute 添加header, 如:'Accept-Encoding: gzip',追加常规header后面,可重复。
-A attribute 添加WWW认证信息, 格式'user:pwd'
-P attribute 添加基础身份认证信息,格式'user:pwd'
-X proxy:port 使用的代理服务端口
-V 显示版本
-k 使用http连接保持功能
-d 不显示时间百分比分布.
-S 不显示中位数和警告
-q 总请求数大于150时,不显示测试请求进度(Benchmarking localhost)。
-g filename 输出测试数据到指定文件.
-e filename 输出百分比CSV文件
-r 收到错误信息不退出
-h 显示帮助信息
-Z ciphersuite 指定SSL/TLS密码套件,参考openssl
-f protocol 指定SSL/TLS协议,如:(SSL3, TLS1, TLS1.1, TLS1.2 or ALL)