#干货满满#服务器压力测试工具-AB工具
  

Hacking 15605人觉得有帮助

{{ttag.title}}
*本工具仅供技术分享、交流讨论,严禁用于非法用途。

    网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环。只有让服务器处在高压情况下,才能真正体现出软件、硬件等各种设置不当所暴露出的问题。在学习ab工具之前,大家需自行了解几个关于压力测试的感念:吞吐率、并发连接数、并发用户数、用户平均请求等待时间、服务器平均请求等待时间等。

    ab是apache自带的压力测试工具,也算是一种ddos攻击工具 。
    ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。

   ab命令对发出负载的计算机要求很低,它既不会占用很高CPU,也不会占用很多内存。但却会给目标服务器造成巨大的负载,其原理类似CC攻击。自己测试使用也需要注意,否则一次上太多的负载。可能造成目标服务器资源耗完,严重时甚至导致死机。

我这边演示的环境是kali 2021版本:



    ab的安装非常简单,如果是源码安装apache的话,那就更简单了,直接apt install httpd-tools -y即可。apache安装完毕后ab命令存放在apache安装目录的bin目录下。






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

参数很多,一般我们用 -c表示并发数  -n 表示请求数即可

我们实际使用,例如我们压测深信服的论坛URL,如下:

┌──(root㉿kali)-[/bin]

    -c    10表示并发用户数为10
    -n    100表示请求总数为100
    https://bbs.sangfor.com.cn/plugin.php表示请求的目标URL
    这行表示同时处理100个请求并运行10次plugin.php文件。

[root@centos7 ~]#ab -c 10 -n 100 https://bbs.sangfor.com.cn/plugin.php
Benchmarking 47.93.96.25 (be patient).....done

Server Software:        Apache/2.4.29  ##apache版本
Server Hostname:        ip地址   ##请求的机子
Server Port:            80  ##请求端口

Document Path:          plugin.php
Document Length:        18483 bytes  ##页面长度

Concurrency Level:      10  ##并发数
Time taken for tests:   25.343 seconds  ##共使用了多少时间
Complete requests:      100  ##请求数
Failed requests:        11  ##失败请求
   (Connect: 0, Receive: 0, Length: 11, Exceptions: 0)
Total transferred:      1873511 bytes  ##总共传输字节数,包含http的头信息等
HTML transferred:       1848311 bytes  ##html字节数,实际的页面传递字节数
Requests per second:    3.95 [#/sec] (mean)  ##每秒多少请求,这个是非常重要的参数数值,服务器的吞吐量
Time per request:       2534.265 [ms] (mean)  ##用户平均请求等待时间
Time per request:       253.426 [ms] (mean, across all concurrent requests)  ##服务器平均处理时间,
Transfer rate:          72.19 [Kbytes/sec] received  ##每秒获取的数据长度

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    8   3.9     10      13
Processing:  1222 2453 322.6   2520    3436
Waiting:     1175 2385 320.4   2452    3372
Total:       1222 2461 322.5   2528    3444

Percentage of the requests served within a certain time (ms)
  50%   2528  ## 50%的请求在25ms内返回
  66%   2534  ## 60%的请求在26ms内返回
  75%   2538
  80%   2539
  90%   2545
  95%   2556
  98%   3395
  99%   3444
100%   3444 (longest request)


打赏鼓励作者,期待更多好文!

打赏
24人已打赏

cyq 发表于 2022-7-28 08:46
  
楼主分析的很详细,不错的实战经验,小白用户一看就懂,非常好的技术干货帖,顶一个!
MrWang828 发表于 2022-7-31 08:40
  
感谢分享,有助于工作,学习了!!!
cyq 发表于 2022-7-31 09:00
  

感谢楼主的分享,学习学习~~~
飞翔的苹果 发表于 2022-8-2 08:40
  
坚持打卡,每天学习。。。。。
新手612152 发表于 2022-8-2 10:24
  
感谢分享,有助于工作,学习了!!!
司马缸砸了光 发表于 2022-8-2 10:27
  
感谢分享,有助于工作,学习了!!!
新手517842 发表于 2022-8-2 10:39
  
感谢分享有助于工资和学习!
新手899116 发表于 2022-8-2 10:42
  
感谢分享,有助于工作,学习了!!!
奔走的公牛 发表于 2022-8-4 09:37
  
每天来学习新东西,感谢楼主共享
发表新帖
热门标签
全部标签>
每日一问
功能体验
技术笔记
新版本体验
技术咨询
2023技术争霸赛专题
干货满满
技术盲盒
标准化排查
GIF动图学习
信服课堂视频
产品连连看
安装部署配置
技术晨报
自助服务平台操作指引
秒懂零信任
深信服技术支持平台
答题榜单公布
卧龙计划
畅聊IT
答题自测
云计算知识
通用技术
安全攻防
每日一记
sangfor周刊
资源访问
排障笔记本
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
运维工具
用户认证
原创分享
解决方案
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
迁移
地址转换
虚拟机
存储
加速技术
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
社区帮助指南
纪元平台
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版版主

396
135
63

发帖

粉丝

关注

本版达人

新手61940...

本周建议达人

BGP网络

本周分享达人

BGP网络

本周提问达人