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 'http://192.168.0.100:8080'

2.HTTP流量复制频率控制

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

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

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

goreplay --input-raw :80 --output-http "http://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 'http://192.168.0.100:8080'

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

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

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

goreplay --input-raw :80 --output-http 'http://192.168.0.100:8080' --http-allow-header api-version:^1\.0\d

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

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

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

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

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值