ab(apache bench) 压力测试工具的使用

之前曾经写过一篇博客是关于使用 webbench 对网页进行压力测试的(https://blog.csdn.net/lucky404/article/details/86688286), 但是 webbench 有一个弊端就是 无法使用 post 方法, 因此今天来讲一个 Linux 平台下面功能更加丰富的压力测试工具 apache bench (ab)的使用

ab 压力测试的大概实现原理

ab 通过使用多线程去同时访问, 模拟真实场景下的多用户 并发访问, 从而实现对网页的压力测试

安装ab

yum install -y httpd-tools

ab 常用参数介绍

-n : 后面跟上数字 代表测试多少次
-c : 后面跟上数字 代表使用多少个线程
-p : 后面跟上一个文件, 就是使用了post 方法, 需要提交的数据就写到那个文件当中
-T: 提交的内容类型 比如 表单是 application/x-www-form-urlencoded json 格式是 application/json
-H: 用于构建请求头部, 如果需要设置多个头部内容时,重复使用-H
-k: 使用keep-alive
-C: 使用cookie 如果设置多个键值对,重复使用 -C

ab 的使用例子

get 压力测试

ab -n 100 -c 100 http://148.70.44.206:8099/

post 压力测试

post 需要提交参数,因此先写好参数文件 post.txt
接口地址:
http://148.70.44.206:8099/admin/login
接口需要的参数是
username
password
因此参数文件内容这样写
username=myuer&&password=mypass
post 测试

ab -n 1000 -c 200 -p post.txt -T 'application/x-www-form-urlencoded' http://148.70.44.206:8099/admin/login

ab 测试结果

以 刚才的post 测试为例, 来看这个测试结果

Server Software: beegoServer:1.11.1
Server Hostname: 148.70.44.206
Server Port: 8099

Document Path: /admin/login
Document Length: 61 bytes

Concurrency Level: 200 并发数量
Time taken for tests: 13.318 seconds 整个测试使用的时间
Complete requests: 1000 完成的请求总数
Failed requests: 0 失败的请求数量
Write errors: 0
Total transferred: 284000 bytes
Total body sent: 199000
HTML transferred: 61000 bytes
Requests per second: 75.09 [#/sec] (mean) 每秒处理的请求数量
Time per request: 2663.590 [ms] (mean)
Time per request: 13.318 [ms] (mean, across all concurrent requests)
Transfer rate: 20.82 [Kbytes/sec] received
14.59 kb/s sent
35.42 kb/s total

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 274 589.4 1 4588 连接时间(毫秒) 平均值 最大值
Processing: 1 1764 3815.5 99 13176 处理数据的时间(毫秒) 平均值 最大值
Waiting: 1 1761 3815.1 68 13176 等待的时间(毫秒) 平均值 最大值
Total: 1 2038 3798.2 206 13179

Percentage of the requests served within a certain time (ms)
50% 206 50% 的请求在206毫秒内处理完 下面的以此类推
66% 1005 ...
75% 1507 ...
80% 2028 ...
90% 10938 ...
95% 12662
98% 12663
99% 12664
100% 13179 (longest request)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值