如何使用Apache压力测试工具AB?

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

注:定义一次执行10个请求的并发量

没有评论

发表回复

Apache
如何部署Oracle Linux 9.x LAMP环境?

1 理论部分 – LAMP是Linux+Apache+MySQL+PHP的简写 &#82 …

Apache
如何修改Apache UMask?

1 前言 一个问题,一篇文章,一出故事。 笔者遇到运行于Apache账号的PHP创建文件时组没有写权 …

Apache
如何传递真实IP到Apache后端?

1 前言 一个问题,一篇文章,一出故事。 本章需要实现前端反向代理(Nginx)的服务器需要传递客户 …