Apache
1 理论部分
1.1 工具介绍
– Apache的ab命令模拟多线程并发请求,测试服务器负载压力
– 可用于Nginx、Apache、IIS等Web服务器的压力测试。
1.2 工具特点
– AB命令对发出负载的计算机要求很低(CPU、内存资源要求低)
– AB命令会给目标服务器造成巨大的负载(可用作DDOS攻击)
1.3 使用建议
– 过大的负载会造成目标服务器内存耗光死机
– 建立本机进行测试(数据准确度高,不受带宽或网络延迟)
1.4 使用格式
ab [ -A auth-username:password ] [ -b windowsize ] [ -c concurrency ] [ -C cookie-name=value ] [ -d ] [ -e csv-file ] [ -f protocol ] [ -g gnu- plot-file ] [ -h ] [ -H custom-header ] [ -i ] [ -k ] [ -n requests ] [ -p POST-file ] [ -P proxy-auth-username:password ] [ -q ] [ -r ] [ -s ] [ -S ] [ -t timelimit ] [ -T content-type ] [ -u PUT-file ] [ -v ver- bosity] [ -V ] [ -w ] [ -x <table>-attributes ] [ -X proxy[:port] ] [ -y <tr>-attributes ] [ -z <td>-attributes ] [ -Z ciphersuite ] [http[s]://]hostname[:port]/path
以上看似复杂,实际简化为,
ab [参数] http[s]://hostname[:port]/path
2 实践部分
2.1 安装工具
yum -y install httpd-tools
2.2 基本使用范例
ab -c 10 -n 10 https://www.cmdschool.org/index.php
注:
-c 参数值并发数
-n 请求的次数
2.3 常用参数
2.3.1 BASIC身份验证
ab -A user:password https://www.cmdschool.org/index.php
注:
– 用户名和密码使用“:”分隔
– 用户名和密码可使用URL编码,亦可使用普通字符串方式表达,防止转义需要加单引号
2.3.2 定义缓冲区大小
ab -b 1000 https://www.cmdschool.org/index.php
2.3.3 定义并发
ab -c 10 https://www.cmdschool.org/index.php
ab -c 10 https://www.cmdschool.org/index.php
注:定义一次执行10个请求的并发量
没有评论