阅读背景:

使用 WRK 压力测试工具对 ASP.NET Core 的接口进行压力测试

来源:互联网 
## 0. 简要介绍 WRK 是一款轻量且易用的 HTTP 压力测试工具,通过该工具我们可以方便地对我们所开发的 WebAPI 项目进行压力测试,并且针对测试的情况返回结果。 > PS:Wrk 并不能针对测试的结果生成动态的图表,如果有这种需要,可以尝试使用另一款工具 Vegeta。该项目使用的 Golang 进行编写,其 GitHub 地址为:[https://github.com/tsenart/vegeta](https://github.com/tsenart/vegeta) 下面的内容就是一个标准的测试结果信息: ```shell # 针对 127.0.0.1:8080 进行压力测试 wrk -t12 -c400 -d30s https://127.0.0.1:8080/index.html ``` ```shell # 这里是测试结果 Running 30s test @ https://127.0.0.1:8080/index.html 12 threads and 400 connections Thread Stats Avg Stdev Max +/- Stdev Latency 635.91us 0.89ms 12.92ms 93.69% Req/Sec 56.20k 8.07k 62.00k 86.54% 22464657 requests in 30.00s, 17.76GB read Requests/sec: 748868.53 Transfer/sec: 606.33MB ``` ## 1. 安装 关于 OS X 与 Windows 的安装可以参考 Wrk 官方 WIKI 进行操作,本文主要讲解一下 CentOS 7.x 下如果进行编译。 ```shell sudo yum groupinstall 'Development Tools' sudo yum install -y openssl-devel git git clone https://github.com/wg/wrk.git wrk cd wrk make ``` 编译之后,你会得到如下结果: ![](https://img2018.cnblogs.com/blog/1203160/201810/1203160-20181016150706537-1674995565.png) 可以看到生成了一个 wrk 的可执行文件,你可以将其添加到环境变量的 PATH 当中,这里就不再赘述,我们等会儿使用的时候直接 ./wrk 使用。 ## 2. 命令说明 ```shell ./wrk -H "Authorization: Bearer TokenValue" -t 2 -c 50 -d 10s --latency --timeout 1s "https://" ``` 上面的命令就是一个典型的压力测试命令,关于参数的含义请看下表。 | 执行命令时的参数 | 含义 | 示例 | | ---------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | -c | 与 HTTP 保持连接的连接数,最终每个线程能够处理的为 连接数/线程数。 | -c 50 | | -d | 指定压力测试的时间有多长。 | -d 10s,其他单位有 2s,2m,2h ## 0. 简要介绍 WRK 是一款轻量且易用的 HTTP 压力测试工具,通过该工具我们可以方



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: