流量回放工具之 Goreplay 安装及初级使用
文章目录
- 流量回放工具之 Goreplay 安装及初级使用
- GoReplay
- 使用场景
- 环境搭建
- Golang环境安装
- Goreplay 安装
- Windows 下使用
- 基本使用
- 其它使用
- 注意点
GoReplay
-
GoReplay
是一个开源工具,用于捕获和重放实时HTTP
流量到测试环境中,以便用真实数据连续测试您的系统。 -
增加对代码部署、配置更改和基础架构更改的信心。随着应用程序的增长,测试它所需的工作量也呈指数级增长。
GoReplay
提供了重用现有流量进行测试的简单想法,这使得它非常强大。 -
允许在不影响应用程序流量的情况下分析和记录应用程序流量。
-
消除了将第三方组件放在关键路径上的风险。
-
GoReplay
增加了对代码部署、配置和基础架构更改的信心。GoReplay
为影子提供了一种独特的方法。而不是作为一个代理,GoReplay
在后台监听你的网络接口上的流量,不需要改变你的生产基础设施,除了运行GoReplay
守护进程在同一台机器上作为你的服务。
- 抓取线上真实的流量,并将捕捉到的流量转发到测试服务器上
使用场景
- 上线前在预发布环境,使用线上真实的请求,检查是否准备发布的版本,是否具备发布标准
- 压力测试完成后,用线上真实的请求,加速后回放至测试环境,检查是否有报错等问题
- 用线上的流量转发到预发,检查相同流量下一些指标的反馈情况,检查核心数据是否有改善、优化等等
环境搭建
Golang环境安装
- 安装教程自行百度
Goreplay 安装
- 从**https://github.com/buger/gor/releases** 下载最新的
Gor
二进制文件(提供Windows
、Linux x64
和Mac OS
的预编译二进制文件),也可以自己编译 。
Windows 下使用
基本使用
- 首先启动一个
HTTP Server
,这里直接使用gor
自带的web
服务
./gor.exe file-server :7747
-
本地访问
http://10.2.7.30:7747/
-
输出到控制台,在启动一个监听7747 端口的
gor
服务
./gor.exe --input-raw :7747 --output-stdout
其它使用
- 写入到指定文件中
gor --input-raw :9797 --output-file requests_origin.gor
- 目标回放
# 从指定文件读取流量,回放至目标服务器
gor --input-file "requests_origin.gor" --output-http "http://127.0.0.1:9798"
注意点
- 使用
widows
环境测试http://127.0.0.1:8881/test/test1
用127.0.0.1
可以监听到,使用真实IP
监听不到,这个暂时不知道怎么处理