Wrk安装、使用和压测

        Wrk相信是HTTP性能测试工具中最强悍的了,基于C的编写性能非常强。唯一不好的就是对Windows支持不友好090ceb8b67dd31590d823073f916508a.png。最近在使用它来测试组件实现的HTTP/HTTPS性能,下面介绍一下这个工具的安装和使用。

        由于之前的测试是在Ubuntu下进行,所以就说一下这组件在Ubuntu下的安装使用。

sudo apt-get update
sudo apt-get install build-essential libssl-dev git -y

以上操作是更新系统和安装git相关工具

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

下载代码,不过国内的服务器这个地址不好使,可以使用以下地址

git clone https://gitee.com/beetlex-io/wrk.git

如果系统不包括unzip的话,需要安装这个包,否则在编译wrk的时会报错

sudo apt-get instaul unzip

接下来就可以编译安装wrk了

make
sudo cp wrk /usr/local/bin

安装完成后就可以测试了

henry@WIN-6MPLC4ASIPB:~/wrk$ wrk -c 10 -t 5 -d 20s http://test.beetlex-io.com/?Protobuf=100
Running 20s test @ http://test.beetlex-io.com/?Protobuf=100
  5 threads and 10 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   388.83us    2.97ms  62.69ms   99.23%
    Req/Sec    11.90k     0.86k   13.07k    92.54%
  1189556 requests in 20.10s, 5.79GB read
Requests/sec:  59182.80
Transfer/sec:    295.13MB

以上只是简单的定义连接数,线程数,时长和测试地址即可以开始测试,测试完成后就有一个简单的测试报告。其实我们最关心的是Requests/sec这个值,即是每秒的请求响应数。

如何方便测试HTTPS?

        其实只要在测试连接的http标识改成https即可,但有个证书问题要解决的,wrk会对证书验证和连接的相关性,如果不匹配就无法进行测试了。可以通过lua来处理,建立一个ignore_ssl_errors.lua文件,然后填写以下内容

wrk.headers["Host"] = "example.com"
wrk.scheme = "https"
wrk.verify_ssl = false

在测试的时候指定

wrk -t12 -c400 -d30s -s ignore_ssl_errors.lua https://example.com

不过以上方式我没有测试成功,我是通过修改Hosts来解决

sudo vi /etc/hosts

在文件中添加指定的地址就可以

# This file is automatically generated by WSL based on the Windows hosts file:
# %WINDIR%\System32\drivers\etc\hosts. Modifications to this file will be overwritten.
127.0.0.1       localhost
127.0.1.1       WIN-6MPLC4ASIPB.localdomain     WIN-6MPLC4ASIPB
127.0.0.1       test.beetlex-io.com

通过配置本地域名就可以顺利测试https服务了。

如果你想不安装就能测试又要能在windows下运行的话可以选择

https//github.com/codesenberg/bombardier

单个文件免安装,提供了linux,windows可直接运行。虽然在高压下没有wrk好,但对于大部分应用服务来说也是足够,这个工具同样也是支持https的。

如果你想有个更直观的测试工具可以用BeetleX实现的可视化压测工具,支持用例管理,可变参数函数和文件提交等各种测试功能。

f4d891859d5baa3871a2ef2642f019ab.png

链接:https://pan.baidu.com/s/1WTjFpJ7ze28ih8hQ92BTbQ?pwd=okf9

提取码:okf9

下载 webbenchmark-1.5-win64/webbenchmark-1.5-linux64

如果你不了解如何测试自己的HTTP/HTTPS服务性能或不知道如何评估可以联系我。

 
 
BeetleX

开源跨平台通讯框架(支持TLS)

提供HTTP,Websocket,MQTT,Redis,RPC和服务网关开源组件

个人微信:henryfan128    QQ:28304340
有丰富的高吐网络服务设计经验

关注公众号

390ca8890d88ab87da95d07e82e8ef92.jpeg

https://github.com/beetlex-io/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值