2024年最新简单易用线上引流测试工具:GoReplay_引流效率怎么测试,顺利通过阿里Golang岗面试

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

五. Gor支持的常用功能

1、Gor 支持流量的放大和缩小、频率限制,这样不需要搭建和生产环境一致的服务器集群也可以正确测试。
2、Gor 还支持根据正则表达式过滤流量,这意味着可以单独测试某个 API 服务。
3、Gor还可以修改 HTTP 请求头,比如替换 User-Agent, 或者增加某些 HTTP Header 。
4、Gor 还可以把请求记录到文件,以备回放和分析。Gor 支持和 ElasticSearch 集成,将流量存入 ES 进行实时分析。

六. Gor 下载安装

官网下载地址:https://github.com/buger/goreplay/releases 下载最新的Gor二进制文件(支持Windows,Linux x64和Mac OS提供预编译的二进制文件),或者可以自行编译。

获取gor版本:https://github.com/buger/goreplay/releases
源码地址:https://github.com/buger/goreplay
官方使用文档:https://github.com/buger/gor/wiki
在这里插入图片描述

七. Gor 常用命令用法

可用输入:

  • –input-raw - 用于捕获HTTP流量,您应该指定IP地址或接口和应用程序端口。有关捕获和重放流量的更多信息。
  • –input-file- 接受之前使用的文件–output-file。更多关于保存和从文件重播
  • –input-tcp - 如果您决定将来自多个转发器Gor实例的流量转发给它,则由Gor聚合实例使用。阅读关于使用Aggregator-forwarder设置。

可用输出:

  • –output-http - 重放HTTP流量到给定的端点,接受基础URL。阅读[关于它的更多信息](重播HTTP流量)
  • –output-file - 记录传入的流量到文件。更多关于保存和从文件重播
  • –output-tcp- 将传入数据转发给另一个Gor实例,并与其一起使用–input-tcp。阅读关于Aggregator-forwarder设置的更多信息。
  • –output-stdout - 用于调试,输出所有数据到stdout。

更多参数,可查阅官网文档。

八. Gor 常用实践场景

1、流量实时复制引流(–input-raw 拦截端口配合–output-http输出),例如将本机80端口的HTTP流量实时复制到targer_server:8080。

gor --input-raw :80 --output-http "http://target\_server:8080"

2、如果目标服务器使用的库与线上机器一样,且只需要引流Get方法的请求。

gor --input-raw :80  --http-allow-method GET --output-http "http://target\_server:8080"

3、当需要对线上服务进行整体性能压测时,可将线上请求扩大N倍,进行引流,将请求扩大1倍,也可缩小,调整"|"后面的百分比即可。

gor --input-raw :80  --http-allow-method GET --output-http "http://target\_server:8080|200%"

4、只复制某个URL请求,–http-allow-url参数,-http-allow-url参数可用正则表达式(–output-http-url-regexp在gor 0.16已经过期,使用–http-allow-url代替)。

gor --input-raw :8080 --http-allow-method GET --output-http "http://target\_server:8080" --http-allow-url mall.*hotword

5、多目标服务器的流量复制引流,有点类似nginx的mirror。

gor --input-raw :80 --output-http "http://target\_server:8080" --output-http "http://target\_server2:8080"

6、将流量转发到多个端点,默认情况下,它会将相同的流量发送到所有输出。

gor --input-tcp :28020 --output-http "http://staging.com"  --output-http "http://dev.com"

7、将相同的流量发送到多个站点,并且平分所有流量。

gor --input-raw :80 --output-http "http://staging.com"  --output-http "http://dev.com" --split-output true

8、HTTP超时,默认情况下,http请求和响应的超时时间为5秒。你可以像这样覆盖它:

gor --input-tcp replay.local:28020 --output-http http://staging.com --output-http-timeout 30s

9、基本身份验证,如果您的开发或登台环境受基本身份验证保护,那么可以在重放期间注入这些凭据:

gor --input-raw :80 --output-http "http://user:pass@staging.com"

10、性能压力测试

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

这里获取](https://bbs.csdn.net/topics/618658159)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值