goreplay 使用

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"




优点:

使用线上真实流量对测试环境进行测试,用于系统有大的升级后系统稳定性的测试,避免人工回归。

可以对线上环境进行压力测试,通过改变回放速率,加大线上请求的数量。

你可能感兴趣的:(goreplay 使用)