前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >高级性能测试系列《32. 性能测试工具:ab 》

高级性能测试系列《32. 性能测试工具:ab 》

作者头像
清菡
发布2022-12-02 21:56:13
5800
发布2022-12-02 21:56:13
举报
文章被收录于专栏:清菡软件测试清菡软件测试

目录

  • 一、什么是ab
    • 1.ApacheBench(ab)
    • 2.ab安装
    • 3.ab参数选项
  • 二、ab演练
    • 1.指定并发用户和时长
    • 2.指定并发用户和总请求数
    • 3.get请求
    • 4.post请求
  • 三、ab报告

一、什么是ab?

1.ApacheBench(ab)

随apache一起发布,免费、开源。是一个衡量http服务器性能的单线程命令行工具。

在apache中自带了ab这个工具。centos、Ubuntu中安装这个ab工具,ab工具的名称不一样。

特点:

小巧灵活,学习上手快。统计功能强大。但是:不能做复杂的脚本开发、没有图形界面、不能做监控。

2.ab安装

安装:
代码语言:javascript
复制
#  centos
[root@centos7 wrk]# yum install httpd-tools -y

# ubuntu
apt-get -y install apache2-utils

验证:
代码语言:javascript
复制
# 获得版本信息:
ab -v

ab --help

输入ab -v,得到:
代码语言:javascript
复制
   总共的请求数量:
    -n requests     Number of requests to perform
    
    并发用户数:
    -c concurrency  Number of multiple requests to make at a time
    
    时间的限制:
    -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
    
    发一个post请求的时候也是个post文件:
    -p postfile     File containing data to POST. Remember also to set -T
    
    

3.ab参数选项:

如果没有设置-n和-t,默认就是5万次结束。

如果设置了-t,那就看设置的运行时长是多少,需要运行多久,不管总请求次数了。

二、ab演练

1.指定并发用户和时长:

ab -c 10 -t 30 https://****/注意:域名后面的这个/是不能省略的。

ab报告:
代码语言:javascript
复制
[root@centos7 ~]# ab -c10 -t30 https://www.baidu.com/
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.baidu.com (be patient)
Finished 121 requests


Server Software:        BWS/1.1
Server Hostname:        www.baidu.com
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES128-GCM-SHA256,2048,128

Document Path:          /
Document Length:        227 bytes

Concurrency Level:      10
Time taken for tests:   30.137 seconds
Complete requests:      121
Failed requests:        0
Write errors:           0

总共的事务数:
Total transferred:      134428 bytes

html的大小:
HTML transferred:       27467 bytes

每秒请求的数量:
Requests per second:    4.01 [#/sec] (mean)

10个并发用户数总的事务每秒:
Time per request:       2490.697 [ms] (mean)

每个并发用户数的tps值是多少:
Time per request:       249.070 [ms] (mean, across all concurrent requests)

每秒传输多少kb的数据:
Transfer rate:          4.36 [Kbytes/sec] received

响应时间相关的数据:

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:      135 1567 1648.6   1423    8081
Processing:    39  305 265.6    224     990
Waiting:       38  303 265.6    214     990
Total:        176 1873 1668.8   1922    8174

Percentage of the requests served within a certain time (ms)
  50%   1898
  66%   2260
  75%   2338
  80%   2372
  90%   2851
  95%   3593
  98%   7829
  99%   7946
 100%   8174 (longest request)


2.指定并发用户和总请求数:

ab -c10 -n1000 https:// ****/

3.get请求:

ab -c 10 -t 30 http://ip:port/***?parm1=value1&parm2=value2

4.post请求:

ab -c 10 -n1000 -p user.json -T“application/json”http://ip:port/***

同目录下user.json文件:{“key1”:"value1” “key2”:"value2”}

三、ab报告

代码语言:javascript
复制
服务器信息

性能测试概况

时间消耗:
mim  mean  [+/-sd]  median max 最小值、平均值、方差、中位数、最大值。
connect      socket链路建立消耗,代表网络状况。 
Processing   写入缓冲区消耗+链路消耗+服务器消耗。 
waiting      写入缓冲区消耗+链路消耗+服务器消耗+读取数据消耗。 
Total        单个事务总时间 

聚合报告


文章中除标明“图片来自网络”的图片,皆为小编本人所画所截图,计算机知识都一样,如有雷同,纯属巧合。「文章是清菡编写的,如有转载,请标明出处!」

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-07-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 清菡软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
    • 一、什么是ab?
      • 1.ApacheBench(ab)
      • 2.ab安装
      • 3.ab参数选项:
    • 二、ab演练
      • 三、ab报告
      相关产品与服务
      命令行工具
      腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档