cyq 发表于 2022-9-17 14:40
  

坚持学习,坚持打卡。。。。。。。
dhf 发表于 2022-9-20 11:02
  
感谢楼主的精彩分享,有助工作!!!
dhf 发表于 2022-9-22 14:38
  
感谢楼主的精彩分享,有助工作!!!
#干货满满#服务器压力测试工具-AB工具
  

Hacking 16265人觉得有帮助

{{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人已打赏

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

本版版主

396
135
63

发帖

粉丝

关注

本版达人

新手61940...

本周建议达人

BGP网络

本周分享达人

BGP网络

本周提问达人