编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

Wrk安装、使用和压测(wireshark安装过程)

wxchong 2024-10-12 12:34:35 开源技术 11 ℃ 0 评论

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

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

sudo apt-get updatesudo 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了

makesudo cp wrk /usr/local/bin

安装完成后就可以测试了

henry@WIN-6MPLC4ASIPB:~/wrk$ wrk -c 10 -t 5 -d 20s http://test.beetlex-io.com/?Protobuf=100Running 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 readRequests/sec: 59182.80Transfer/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 localhost127.0.1.1 WIN-6MPLC4ASIPB.localdomain WIN-6MPLC4ASIPB127.0.0.1 test.beetlex-io.com

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

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

https//github.com/codesenberg/bombardier

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

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

链接: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
有丰富的高吐网络服务设计经验

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







Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表