goreplay介绍
下载:
项目地址:https://github.com/buger/goreplay/releases
安装(命令行):
wget https://github.com/buger/goreplay/releases/download/v0.16.1/gor_0.16.1_x64.tar.gz
tar xvf gor_0.16.1_x64.tar.gz //解压
*这个工具可以直接从github上下载成品,如果你的服务器是centos7以上,应该可以直接解压后使用;
初步使用:
协助命令:python -m SimpleHTTPServer mac打开一个端口默认为8000的服务
gor file-server :8000 也可以启动一个本地文件服务器
基本命令:
1.获取经过本地8080端口的请求流量,然后打印出来
sudo ./goreplay --input-raw :8080 --output-stdout
2.获取经过本地8080端口的请求流量,然后保存在.gor文件中
sudo ./goreplay --input-raw :8080 --output-file=request.gor
3.从保存下来的流量文件中提取流量并向某的地址的某个端口输出
sudo ./goreplay --input-file=request.gor --output-http="http://localhost:8000"
4.转发
sudo ./goreplay --input-raw :8080 --output-http="http://localhost:8000"
用于系统有大的升级后系统稳定性的测试,避免人工回归
*对于一些产品的操作需要线上线下的数据库的同步协调
5.请求过滤
例如只收集 /api 下的请求
./gor --input-raw :8080 --output-http staging.com --http-allow-url /api
例如只收集请求头中符合 api-version 为 1.0x 的请求
./gor --input-raw :8080 --output-http staging.com --http-allow-header api-version:^1\.0\d
回放速度调整
例如使用2倍速度进行回放
./gor --input-file "requests.gor|200%" --output-http "staging.com"
优点:
使用线上真实流量对测试环境进行测试,用于系统有大的升级后系统稳定性的测试,避免人工回归。
可以对线上环境进行压力测试,通过改变回放速率,加大线上请求的数量。
网友评论