wrk性能测试工具

目录

1. wrk 是什么

2. 它的作用和优势

3. 详细的测试报告

4. 跨平台支持

5. 使用方便

6.wrk在linux安装

7.在 macOS 上,您可以使用Homebrew来安装wrk也可以下载源码make 

8.使用wrk进行简单的性能测试

9.wrk压测复杂场景

示例:

wrk模拟下单请求,执行lua脚本

统计脚本每一个线程执行,lua脚本

10.根据测试结果优化应用性能

代码层面优化:

JVM优化:

架构层面优化:

硬件层面优化:

其他优化:


1. wrk 是什么


wrk 是一个现代的 HTTP 基准测试工具,用于对 Web 服务器进行性能测试和负载测试。它可以模拟大量的并发连接,并测量服务器的响应时间、吞吐量和错误率等指标,帮助开发人员评估和优化 Web 服务器的性能。

2. 它的作用和优势


性能测试: wrk 可以帮助开发人员评估 Web 服务器在高并发情况下的性能表现,发现性能瓶颈和优化空间。
负载测试: 通过模拟大量并发连接,wrk 可以对服务器进行负载测试,以确定服务器在不同负载下的响应能力。
结果分析: wrk 提供详细的测试结果,包括平均响应时间、吞吐量、请求错误率等指标,帮助开发人员分析服务器的性能表现和瓶颈。
wrk 的主要特点和功能介绍:
1. 灵活的配置选项:
可以通过命令行参数灵活地配置并发连接数、测试持续时间、请求方式、请求头、请求体等参数,以满足不同的测试需求。
2. 高性能的并发模拟:
wrk 使用高效的事件驱动模型和多线程并发机制,可以模拟大量的并发连接,以确保测试结果的准确性和可靠性。


3. 详细的测试报告


wrk 提供详细的测试报告,包括平均响应时间、吞吐量、请求错误率等指标,以及请求响应时间分布图表,帮助开发人员全面了解服务器的性能表现。


4. 跨平台支持


wrk 支持在 Linux、Windows 和 macOS 等主流操作系统上运行,具有良好的跨平台兼容性。


5. 使用方便


wrk 的使用方法简单明了,可以通过命令行轻松启动测试,并且提供了丰富的文档和示例,方便开发人员快速上手和定制测试。

6.wrk在linux安装

命令行输入一下命令下载 wrk 源码

git clone https://github.com/wg/wrk.git

随后进入 wrk 目录并进行编译

cd wrk
make

随后将生成一个可执行的 wrk 文件,我们可以把这个文件拷贝到我想要的地方,或者直接拷贝到 bin 目录

cp wrk /usr/local/bin/

7.在 macOS 上,您可以使用Homebrew来安装wrk也可以下载源码make 

brew install wrk
wrk -v或wrk

如果有以下显示,则说明安装成功了 


wrk 4.2.0 [kqueue] Copyright (C) 2012 Will Glozer
Usage: wrk <options> <url>                            
  Options:                                            
    -c, --connections <N>  Connections to keep open   
    -d, --duration    <T>  Duration of test           
    -t, --threads     <N>  Number of threads to use   
                                                      
    -s, --script      <S>  Load Lua script file       
    -H, --header      <H>  Add header to request      
        --latency          Print latency statistics   
        --timeout     <T>  Socket/request timeout     
    -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)

8.使用wrk进行简单的性能测试

下面是一个使用wrk进行简单性能测试的示例:

wrk -t10 -c30 -d2s -T5s --latency http://www.baidu.com

Running 2s test @ http://www.baidu.com
  10 threads and 30 connections
                            平均值     标准差    最大值   正负一个标准差占比 
      线程统计 Thread Stats   Avg      Stdev     Max      +/- Stdev
       响应时间   Latency   200.85ms  192.21ms   1.08s     87.09
每线程每秒完成请求数Req/Sec     17.29     10.65    50.00     68.75%
  Latency Distribution  延迟统计
     50%  135.61ms      有50%的请求执行时间是在135.61ms内完成
     75%  201.79ms      有75%的请求执行时间是在201.79ms内完成
     90%  456.45ms      有90%的请求执行时间是在456.45ms内完成
     99%  899.49ms      有99%的请求执行时间是在899.49ms内完成
  322 requests in 2.05s, 3.25MB read  2秒执行了322个请求,读了3.25MB数据
Requests/sec:    157.42   每秒请求数
Transfer/sec:    1.59MB   每秒钟读取1.59MB数据量

在这个示例中:

  • -t10:指定10个线程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值