AB压力测试 压力测试工具ab



文章插图
AB压力测试 压力测试工具ab

文章插图
ab 是apache对 http服务器进行压力测试的工具 , 它可以测试出服务器每秒可以处理多少请求 。本文记录mac版本安装 ab 的步骤以及遇到的坑 。
下载
进入 apache ab官网 下载页面 。
安装brew 安装因为笔者的操作系统是mac系统 , 所以需要先安装brew 。进入brew网站 。执行下方命令/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"执行命令后报错:Failed to connect to raw.githubusercontent.com port 443: Connection refused解决方案:打开 https://www.ipaddress.com/ 查询 raw.githubusercontent.com 对应的 ip 地址 。
添加ip到 /etc/hosts,添加以下配置:
185.199.108.133 raw.githubusercontent.com185.199.109.133 raw.githubusercontent.com185.199.110.133 raw.githubusercontent.com185.199.111.133 raw.githubusercontent.com再执行
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"执行成功后 , 使用brew安装apr、apr-util和prce
brew install aprbrew install apr-utilbrew inatll prceapache ab安装
解压下载后压缩包 , 进入 httpd-2.4.51 目录 。执行以下命令:
./configuremakemake install执行 ./configure 命令时报错:
[email protected] httpd-2.4.51 % ./configurechecking for chosen layout... Apachechecking for working mkdir -p... yeschecking for grep that handles long lines and -e... /usr/bin/grepchecking for egrep... /usr/bin/grep -Echecking build system type... x86_64-apple-darwin20.2.0checking host system type... x86_64-apple-darwin20.2.0checking target system type... x86_64-apple-darwin20.2.0configure:configure: Configuring Apache Portable Runtime library...configure:checking for APR... noconfigure: error: APR not found.Please read the documentation.APR not found 没找到./configure 改成
【AB压力测试 压力测试工具ab】 ./configure --with-apr=/usr/local/opt/apr --with-apr-util=/usr/local/opt/apr-util --with-pcre=/usr/local/Cellar/pcre/8.45
其中 pcre 的路径可能不同 , 需要在 /usr/local/Cellar/pcre 里面确定路径 。
上述命令执行成功后 , 如果没有报错 , 表明安装成功 , 执行ab
ab: wrong number of argumentsUsage: ab [options] [http[s]://]hostname[:port]/pathOptions are:-n requestsNumber of requests to perform-c concurrencyNumber of multiple requests to make at a time-t timelimitSeconds to max. to spend on benchmarkingThis implies -n 50000-s timeoutSeconds to max. wait for each responseDefault is 30 seconds-b windowsizeSize of TCP send/receive buffer, in bytes-B addressAddress to bind to when making outgoing connections-p postfileFile containing data to POST. Remember also to set -T-u putfileFile containing data to PUT. Remember also to set -T-T content-type Content-type header to use for POST/PUT data, eg.'application/x-www-form-urlencoded'Default is 'text/plain'-v verbosityHow much troubleshooting info to print-wPrint out results in HTML tables-iUse HEAD instead of GET出现以上界面 , 说明 ab 已经安装成功 。
运行 ab主要参数-n 请求树-c 并发数(访问人数)-t 请求时间最大数ab -n 1000 -c 100 http://www.baidu.com表示请求baidu.com 使用100请求数 , 请求1000次 。总结需要在配置brew和检测configure上花了比较多的时间 。其余的按照步骤即可 。