几款常用压测工具介绍与使用

现在市面上的压测工具数不胜数,挑几款常用的做个简单的介绍。

1、Apache ab


ab是apache自带的压力测试工具,使用起来非常方便 。

安装


1. ab运行需要依赖apr-util包,安装命令为:

yum install apr-util

2. 需要yumdownload命令下载,没有该命令的话,可以:

yum install yum-utils

3. 新建一个目录,下载解压用:

cd /opt

mkdir abtmp

cd abtmp

yum install yum-utils.noarch

yumdownloader httpd-tools*

rpm2cpio httpd-tools*.rpm | cpio -idmv

4. 将./user/bin/ab复制到系统bin下即可:

cp /opt/abtmp/usr/bin/ab /usr/bin

5. 使用如下命令查看是否安装成功:

ab -V

6. ab –help可以进行需要的测试

压测


在压测前,需要关注几个选项,通过 ab -help 查看

Options are:
    -n requests     要执行的请求次数
    -c concurrency  并发数量
    -s timeout      响应时间

执行:

# 总共100个并发执行1000此请求,超时时间为1s

ab -n 1000 -c 100 -s 1 http://www.baidu.com

2、wrk


wrk 是一款c语言开发的现代的http性能基准测试工具,使用简单,功能强大。

安装


可以从github上下载源码编译安装  wrk github地址

压测


wrk的命令选项并不多,很容易使用

Usage: wrk <options> <url>                            
  Options:                                            
    -c, --connections <N>  建立的连接  
    -d, --duration    <T>  执行测试时间           
    -t, --threads     <N>  线程数量   
                                                      
    -s, --script      <S>  使用lua脚本(非常强大的功能,有兴趣可以深入研究)       
    -H, --header      <H>  为每一个HTTP请求添加HTTP头        
        --latency          在压测结束后,打印延迟统计信息   
        --timeout     <T>  超时时间    
    -v, --version          Print version details      
                                                      
  Numeric arguments may include a SI unit (1k, 1M, 1G)
  Time arguments may include a time unit (2s, 2m, 2h)
# 10个线程100个连接压测30s

wrk -c100 -t10 -d30s http://www.baidu.com

3、JMeter


Apache JMeter 是由java编写的一个GUI测试工具,功能强大且结果多样。

安装


可以去Apache JMeter下载安装。

使用


1. 建立 Plan

2. 建立Thread Group

建立好 Plan后就可以建立Thread Group了, 建立方式:选中Plan 后, Edit > Add > Threads > Thread Group

Thread Group 可以设置线程的一些参数,主要是 Number of Threads(users) 和 Loop Count

3. 添加Listener

Listener主要生成一些结果报告,添加方式为:选中Thread Group后 Edit > Add > Listener

可以看到有很多结果报告,我平时主要用到以下几个结果报告

  • View Results Tree

  • Aggregate Report

  • Graph Results

  • View Results Table

View Results Tree

这个报告会生成请求树,点击可以查看每个请求的信息

Aggregate Report

这个报告会生成请求的聚合统计信息, 主要参数就是QPS, 传输速度等

Graph Results

强大的图形报告结果

图形结果一些说明

  • No of Samples(样本数): 代表向服务器发送的请求数目

  • Deviation(偏离):代表服务器相应时间变化的数据的分布

  • Latest Sample(最新样本): 表示服务器相应最后一个请求的时间

  • Throughtput(吞吐率):这里是服务器每分钟对数据的处理量

  • Average(平均值): 表示总运行的时间除以发送给服务器的请求数

  • Median(中间值): 代表有一半的服务器时间低于该值,而另一半高于该值

根据图形结果得到的一些分析

  1. 吞吐率起步的时候比较低,随着请求数量越来越多,吞吐率先增后减

  2. 偏离值还不错,保持一个很平稳的状态 如果偏离数量随着请求数量越来越大, 说明服务器越来越不稳定

借鉴处:https://www.jianshu.com/p/8c622e304e14

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

£繁星丶春水

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

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

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

打赏作者

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

抵扣说明:

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

余额充值