站长资讯网
最全最丰富的资讯网站

Gor复制生产环境流量到测试环境

一、Gor简介

Gor 是一款go语言实现的简单的http流量复制工具,它的主要目的是使你的生产环境HTTP真实流量在测试环境和预发布环境重现。只需要在 LB 或者 Varnish 入口服务器上执行一个进程,就可以把生产环境的流量复制到任何地方,完美解决了 HTTP 层实时流量复制和压力测试的问题。对比在Nginx通过编写lua脚本进行流量拷贝要更加简单便捷,下载解压后就可马上使用。

二、Gor安装

安装包下载地址:https://github.com/buger/goreplay/releases

下载完成后,将解压后的goreplay文件复制到/usr/bin下,就可以开始使用了

三、使用方法

1.基础HTTP流量复制

将本机上80端口的流量全部复制到192.168.0.100的8080端口

goreplay –input-raw :80 –output-http 'https://192.168.0.100:8080'

2.HTTP流量复制频率控制

将本机上80端口的流量复制到192.168.0.100的8080端口,每秒请求不超过10个

goreplay –input-tcp :80 –output-http "https://192.168.0.100:8080|10"

将本机上80端口的流量复制到192.168.0.100的8080端口,每秒请求不超过总数的10%

goreplay –input-raw :80 –output-http "https://192.168.0.100:8080|10%"

3.HTTP流量复制输出到文件

goreplay –input-raw :80 –output-file requests.log

4.通过HTTP流量回放进行压力测试

goreplay –input-file 'request.gor|200%' –output-http 'https://192.168.0.100:8080'

5.过滤指定url,进行HTTP流量复制

goreplay –input-raw :80 –output-http 'https://192.168.0.100:8080' –http-original-host –output-http-url-regexp test

6.过滤请求头,进行HTTP流量复制

goreplay –input-raw :80 –output-http 'https://192.168.0.100:8080' –http-allow-header api-version:^1.0d

7.过滤http方法,进行HTTP流量复制

goreplay –input-raw :80 –output-http "https://192.168.0.100:8080" –http-allow-method GET –http-allow-method OPTIONS

8.将HTTP流量进行url重写后再复制

goreplay –input-raw :80 –output-http 'https://192.168.0.100:8080' –http-rewrite-url /v1/user/([^\/]+)/ping:/v2/user/$1/ping

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号