Rewrk一个更现代的http框架基准测试实用程序

Rewrk一个更现代的http框架基准测试实用程序。HTTP基准测试(HTTP benchmarking)是一种测量和评估HTTP服务器或应用程序性能指标的活动。其目的是在特定条件下模拟大量用户请求,以测量服务器或应用程序的响应能力、吞吐量、延迟等指标,从而评估其性能表现。HTTP基准测试通常使用专门的测试工具,如Apache Bench(ab)、JMeter、LoadRunner等,模拟多个客户端同时向服务器发送请求,并测量服务器的响应时间、并发处理能力等关键指标。通过这些测试,可以了解服务器或应用程序在不同负载下的性能表现,并找出可能存在的性能瓶颈或问题。在进行HTTP基准测试时,需要设置适当的测试参数,如并发用户数、请求类型、请求数据量等,以模拟真实的用户行为。同时,还需要对测试结果进行分析和解读,以了解服务器或应用程序的性能瓶颈和优化方向。

快速上手

 
 
  1. rewrk -h http://127.0.0.1:5000 -t 12 -c 60 -d 5s

  2. Benchmarking 60 connections @ http://127.0.0.1:5000 for 5 seconds

  3. Latencies:

  4. Avg Stdev Min Max

  5. 3.27ms 0.40ms 1.95ms 9.39ms

  6. Requests:

  7. Total: 91281 Req/Sec: 18227.81

  8. Transfer:

  9. Total: 1.13 MB Transfer Rate: 231.41 KB/Sec

这个项目背后的动机来自开发人员对 TechEmpower等基准测试的隧道愿景,(TechEmpower是一个Web Framework Benchmarks测试平台,该平台对世界上各大Web框架进行功能测试,并提供一个综合排名。从2013年3月开始,这个平台已经进行了18轮测试,参与框架的数量也从最初的24种增加到了659种。)这些基准测试使用名为 wrk 的基准测试工具.wrk 只处理一些 HTTP 规范,并且完全偏向于可以大量使用 HTTP/1 流水线的框架和服务器,这在大多数现代浏览器或客户端中不再启用,这可能会在比较框架时给出一组非常不公平和不合理的统计数据,因为顶部的框架更擅长使用现在不常用的进程。基准测试器建立在 hyper 的客户端 api 之上,并带来了许多优势和更现实的基准测试方法。
当前功能
  • 支持 HTTP/1 和 HTTP/2

  • 多平台支持,在 Windows 上开发,但也可以在 Mac 和 Linux 上运行。

USAGE:
     rewrk.exe [FLAGS] [OPTIONS] --duration <duration> --host <host>

FLAGS:
         --help       Prints help information
         --http2      Set the client to use http2 only. (default is http/1) e.g. '--http2'
         --pct        Displays the percentile table after benchmarking.
     -V, --version    Prints version information

OPTIONS:
     -c, --connections <connections>    Set the amount of concurrent e.g. '-c 512' [default: 1]
     -d, --duration <duration>          Set the duration of the benchmark.
     -h, --host <host>                  Set the host to bench e.g. '-h http://127.0.0.1:5050'
     -t, --threads <threads>            Set the amount of threads to use e.g. '-t 12' [default: 1]

Rust环境安装

大家在安装rust时,大多数同学是参考官方文档执行脚本安装,脚本如下:

curl https://sh.rustup.rs -sSf | sh

但是因为某些原因,在国内执行上面 该脚本会被墙掉,然后终端就一直没有下载进度

➜ ~ curl https://sh.rustup.rs -sSf | sh info: downloading installer

  • 为了可以正常执行,可以配置下镜像源,加速rust下载、安装。终端配置如下命令:

export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup

  • 接着执行官方文档的下载脚本:

curl https://sh.rustup.rs -sSf | sh

Cargo Install 使用 Cargo 安装

cargo install rewrk --git https://github.com/ChillFish8/rewrk.git

CentOS安装

除了gcc,还需要

yum install -y openssl-devel

从源代码编译

cargo build –release

实践

./rewrk -h http://172.21.44.1:18193/ws/logout -t 12 -c 60 -d 10s

Beginning round 1...

Benchmarking 60 connections @ http://172.21.44.1:18193/ws/logout for 10 second(s)

Latencies:

Avg Stdev Min Max

10.06ms 9.81ms 0.55ms 118.18ms

Requests:

Total: 59559  Req/Sec: 5955.74

Transfer:

Total: 18.18 MB Transfer Rate: 1.82 MB/Sec

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值