ab 命令详解

| 选择喜欢的代码风格  

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

ab 命令安装:


注意:如果不想安装 apache 但是又想使用 ab 命令的话,我们可以直接安装 apache 的工具包 httpd-tools。如下:

$ ab
-bash: ab: command not found

#Debian
apt-get install apache2-utils

#Ubuntu
apt-get install apache2-utils

#Alpine
apk add apache2-utils

#Arch Linux
pacman -S apache

#Kali Linux
apt-get install apache2-utils

#CentOS
yum install httpd-tools

#Fedora
dnf install httpd-tools

#Raspbian
apt-get install apache2-utils

#Docker
docker run cmd.cat/ab ab

#安装后,用 ab -V 查看 ab 的版本

[root@Dev_Test ~]$ab -V
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

ab 命令补充说明:


ab 命令是 Apache 的 Web 服务器的性能测试工具,它可以测试安装 Web 服务器每秒种处理的 HTTP 请求,通常用来测试 QPS

ab 命令语法:


ab [ -A auth-username:password ] [ -b windowsize ] [ -B local-address ] [ -c concurrency ] [ -C cookie-name=value ] [ -d ] [ -e csv-file ] 
[ -E client-certificate file ] [ -f protocol ] [ -g gnuplot-file ] [ -h ] [ -H custom-header ] [ -i ] [ -k ] [ -l ] [ -m HTTP-method ] 
[ -n requests ] [ -p POST-file ] [ -P proxy-auth-username:password ] [ -q ] [ -r ] [ -s timeout ] [ -S ] [ -t timelimit ] [ -T content-type ] 
[ -u PUT-file ] [ -v verbosity] [ -V ] [ -w ] [ -x <table>-attributes ] [ -X proxy[:port] ] [ -y <tr>-attributes ] 
[ -z <td>-attributes ] [ -Z ciphersuite ] [http[s]://]hostname[:port]/path

ab 命令选项:


-A:指定连接服务器的基本的认证凭据;
-c:指定一次向服务器发出请求数;
-C:添加cookie;
-g:将测试结果输出为“gnuolot”文件;
-h:显示帮助信息;
-H:为请求追加一个额外的头;
-i:使用“head”请求方式;
-k:激活HTTP中的“keepAlive”特性;
-n:指定测试会话使用的请求数;
-p:指定包含数据的文件;
-q:不显示进度百分比;
-T:使用POST数据时,设置内容类型头;
-v:设置详细模式等级;
-w:以HTML表格方式打印结果;
-x:以表格方式输出时,设置表格的属性;
-X:使用指定的代理服务器发送请求;
-y:以表格方式输出时,设置表格属性。

ab 命令参数:


主机:被测试主机。

ab 命令实例:


使用 ab命令进行压力测试:

ab -c 100 -n 10000 http://127.0.0.1/index.php 

ab 命令的坑:


ab 命令会给服务器造成非常高的负载,可能会造成目标服务器资源耗尽,严重时可能会导致死机,而且它没有图形化结果,不能监控,所以只能用作临时紧急任务和简单的测试。

ab 的工作原理:ab 会创建多个并发线程,模拟多个访问者同时对某一个 url 地址进行访问,测试的目标基于 url

ab 命令扩展阅读:




ab 命令评论