用ab压测工具搞垮目标网站

一、介绍

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

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

二、安装

ab 支持多平台部署,安装起来也相对较为简单。如下:

2.1 Linux

linux 环境安装比较简单,一行命令即可

yum -y install httpd-tools

2.2 Windows

windows 环境需要先下载压缩包,在压缩包内执行命令即可。官网下载

这里需要说下,解压后需要配置下环境变量

  HTTPAB_HOME:F:\install\apache-httpabtest

  path:%HTTPAB_HOME%\bin

三、案例

这里我们压测一个部署在容器内的接口,这里我们测试 7000 并发,100000 请求

命令在 linux 与 windows 环境通用。

如果get请求带参数,就在url部分加上双引号包起来。

ab -c 7000 -n 100000 "http://192.168.200.167:8089/Wikibit/Advertisement?type=38&app=12&ver=121"

可以看到,在压测时 内存、cpu 、网络出口都比较活跃

-c 并发数量
-n 请求总数

这里举例比较简单,ab 有许多参数,正所谓别人领进门,修行在个人。

四、返回说明

各项指标会因为网络、服务器性能、等指标而不同

标题值说明

Server Software:Kestrelweb服务器

Server Hostname:192.168.200.167请求的服务器

Server Port:8089请求的端口

———

Document Path:Wikibit/Advertisement?type=38&app=12&ver=121 请求路径

Document Length:25 bytes页面大小

———

Concurrency Level:7000并发数

Time taken for tests:227.346共使用了多少时间

Complete requests:100000成功请求数

Failed requests:0失败请求数

Write errors:0错误次数

Total transferred:230400000 bytes总共传输字节数,包含http的头信息等

HTML transferred:214300000 byteshtml字节数,实际的页面传递字节数

Requests per second:439.86 [#/sec] (mean)每秒多少请求,这个是非常重要的参数数值,服务器的吞吐量

Time per request:15914.231 [ms] (mean)用户平均请求等待时间

Time per request:2.273 [ms] (mean, across all concurrent requests)服务器平均处理时间,也就是服务器吞吐量的倒数

Transfer rate:989.68 [Kbytes/sec] received每秒获取的数据长度

Percentage of the requests served within a certain time (ms)

———

50%1601250%的请求在25ms内返回

66%1688760%的请求在26ms内返回

75%……

80%……

90%……

95%……

98%……

99%……

100%…

参考博客

https://blog.csdn.net/jiangjunsss/article/details/123093738

https://blog.csdn.net/weixin_46785144/article/details/118672277

https://blog.csdn.net/qq_41946216/article/details/127652597

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值