ab压测- Apache HTTP server benchmarking tool

本文介绍了ab命令的工作原理,如何在CentOS系统中部署,并详细解析了其语法和参数。ab命令用于模拟多用户并发访问特定URL,以此测试Web服务器如Apache、Nginx等的压力承受能力。通过示例展示了如何配置并发数、请求次数等参数来执行压力测试。
摘要由CSDN通过智能技术生成


1.1 原理

  ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL,因此可以用来测试apache、nginx、lighthttp、tomcat、IIS等Web服务器的压力。
  ab命令对发出负载的计算机要求很低,它既不会占用很高CPU,也不会占用很多内存。但却会给目标服务器造成巨大的负载,其原理类似CC攻击(攻击者控制某些主机不停地发送大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃)。一次上太多的负载。可能造成目标服务器资源耗完,严重时甚至导致死机

1.2 部署

(1) CentOS6 默认安装

(2) CentOS7需要手动安装
联网:

yum install httpd-tools

在这里插入图片描述
查看安装版本:

ab -V

在这里插入图片描述

1.3 语法和参数解释

语法:

ab [options] [http[s]://]hostname[:port]/path
    -n requests     发送请求数量
    -c concurrency  并发数量,同时发送请求的个数
    -t timelimit    Seconds to max. to spend on benchmarking
                    This implies -n 50000
    -s timeout      Seconds to max. wait for each response
                    Default is 30 seconds
    -b windowsize   Size of TCP send/receive buffer, in bytes
    -B address      Address to bind to when making outgoing connections
    -p postfile     指定包含post请求数据的文件,必须和-T连用指定content-type
    -u putfile      指定包含put请求数据的文件,必须和-T连用指定content-type
    -T content-type Content-type header to use for POST/PUT data, eg.
                    'application/x-www-form-urlencoded'
                    Default is 'text/plain'
    -v verbosity    How much troubleshooting info to print
    -w              Print out results in HTML tables
    -i              Use HEAD instead of GET
    -x attributes   String to insert as table attributes
    -y attributes   String to insert as tr attributes
    -z attributes   String to insert as td or th attributes
    -C attribute    Add cookie, eg. 'Apache=1234'. (repeatable)
    -H attribute    Add Arbitrary header line, eg. 'Accept-Encoding: gzip'
                    Inserted after all normal header lines. (repeatable)
    -A attribute    Add Basic WWW Authentication, the attributes
                    are a colon separated username and password.
    -P attribute    Add Basic Proxy Authentication, the attributes
                    are a colon separated username and password.
    -X proxy:port   Proxyserver and port number to use
    -V              Print version number and exit
    -k              Use HTTP KeepAlive feature
    -d              Do not show percentiles served table.
    -S              Do not show confidence estimators and warnings.
    -q              Do not show progress when doing more than 150 requests
    -g filename     Output collected data to gnuplot format file.
    -e filename     Output CSV file with percentages served
    -r              Don't exit on socket receive errors.
    -h              Display usage information (this message)
    -Z ciphersuite  Specify SSL/TLS cipher suite (See openssl ciphers)
    -f protocol     Specify SSL/TLS protocol
                    (SSL3, TLS1, TLS1.1, TLS1.2 or ALL)

1.4 示例

在这里插入图片描述

ab -n 2000 -c 200 -k -p ./postfile -T application/x-www-form-urlencoded http://192.168.0.109:8080/redisTest/secKill

-p 指定请求数据
在这里插入图片描述
发送请求后,可看到压测信息
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

但行益事莫问前程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值