一、有什么用

将机器http请求复制转发到指定的机器上去。
通常可能会通过ab等压测工具来对单一http接口进行压测。但如果是需要http服务整体压测,使用ab来压测工作量大且不方便,通过线上流量复制引流,通过将真实请求流量放大N倍来进行压测,能对服务有一个较为全面的检验。

二、安装

前往官方下载:https://github.com/buger/goreplay/releases
在Linux服务器上直接执行以下命令即可:

wget https://github.com/buger/goreplay/releases/download/v0.16.1/gor_0.16.1_x64.tar.gz
tar -xf gor_0.16.1_x64.tar.gz
cp gor /usr/bin/
gor -h

三、应用场景

3.1 流量实时复制引流(--input-raw 拦截端口配合--output-http输出)

3.1.1 当对服务功能进行了改造,不能直接上线,需要真实请求来做验证,可以用流量复制引流

gor --input-raw :80 --output-http "http://target_server:8080"
#将本机80端口的HTTP流量复制到targer_server:8080

3.1.2 如果目标服务器使用的库与线上机器一样,需要只引流Get方法,不应该复制上行方法(POST等)

gor --input-raw :80  --http-allow-method GET --output-http "http://target_server:8080"

3.1.3 当需要对线上服务进行整体性能压测时,可将线上请求扩大N倍,进行引流

gor --input-raw :80  --http-allow-method GET --output-http "http://target_server:8080|200%" #将请求扩大1倍,也可缩小,调整"|"后面的百分比即可

3.1.4 只复制某个URL请求,--http-allow-url参数

gor --input-raw :8080  --http-allow-method GET --output-http "http://target_server:8080" --http-allow-url mall.*hotword
#--http-allow-url参数可用正则表达式
#--output-http-url-regexp在gor 0.16已经过期,使用--http-allow-url代替

3.1.5 多目标服务器的流量复制引流,有点类似nginx的mirror

gor --input-raw :80 --output-http "http://target_server:8080" --output-http "http://target_server2:8080"

3.2 录制与回放

适合在夜深人静的时候,偷摸干一些和谐的事(≧∀≦)
3.2.1 录制,只是gor输出目标改为本地文件,使用--output-file参数

gor --input-raw :80 --output-file gor_request.log

3.2.2 回放

gor --input-file "gor_request.log|200%" --output-http "http://target_server:8080"

四、最后

官方文档:
https://github.com/buger/goreplay/wiki

转载于:https://www.cnblogs.com/TatuCz/p/9856284.html

HTTP流量复制引流工具(web压测及线上问题复现利器)--Gor(GoReplay)相关推荐

  1. 水果店线上引流推广方案,水果店线上运营是做些什么

    这里是水果店早读课,水果店主同行交流圈子,持续分享,帮助新手入门. 现在开水果店比以前更难,以前只要进货到店里卖就行,现在还要会玩线上,运营成本和学习成本都增加了. 1.线上日常吸粉积累顾客流量池 前 ...

  2. 工具类五合一小程序源码星座配对+星座运势+恶搞放屁音效+引流工具+流量主

    今天给大家带来一套5合一小程序 星座配对+星座运势+恶搞放屁音效+引流工具+流量主 怎么弄?需要用到分包功能, 问:为什么是三套小程序,跟你演示的不一样啊? 答:为了防止有些人拿了东西就去闲鱼卖,只要 ...

  3. HTTP引流工具Gor快速入门

    0.背景 校验系统的正确性和可靠性时,仅靠用例场景无法覆盖全生产环境下的所有场景,需要一套引流工具,在系统正式上线前,用线上的请求测试待上线系统,在正常请求下,是否有报错:在数倍请求下,系统的性能瓶颈 ...

  4. linux网络引流工具,gor 引流快速入门

    0.背景 校验系统的正确性和可靠性时,仅靠用例场景无法覆盖全生产环境下的所有场景,需要一套引流工具,在系统正式上线前,用线上的请求测试待上线系统,在正常请求下,是否有报错:在数倍请求下,系统的性能瓶颈 ...

  5. 在线引流工具Tcpcopy原理、使用、采坑

    手把手教你做中间件.高性能服务器.分布式存储技术交流群 手把手教你做中间件.高性能服务器.分布式存储等(redis.memcache.nginx.大容量redis pika.rocksdb.mongo ...

  6. 如何用企业微信做好私域流量的引流、转化和精细化运营?

    上周周三,也就是12月23日,企业微信举办了2020年度大会. 会议中,腾讯微信事业群副总裁黄铁鸣讲到,企业通过企业微信连接及服务的微信用户数已达4亿.使用企业微信的真实企业与组织数已超550万,活跃 ...

  7. web版本 开源压测工具_Web压测工具之Webbench和http_load

    Webbench简介 是知名的网站压力测试工具,能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况. webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相应请求数和每 ...

  8. 独立站运营指南:引流工具和引流方法都有哪些?

    近几年,独立站越来越频繁地被人们提起,甚至可以说跨境电商人都不会不知道独立站地存在.那独立站应该如何运营呢? 卖家们如何利用好各平台的优势做好引流以达到更高的转化率?类似这样的问题也成为了不少跨境电商 ...

  9. 私域引流工具及场景落地方法

    首先聊一下流量的来源,市场上现有的引流可以按照流量来源分为公域引流和私域引流.公域引流大致可以分为信息流引流.平台电商引流.媒体平台引流.直播引流.线下门店引流.私域引流大致可以分为公众号引流.个人号 ...

最新文章

  1. 【youcans 的 OpenCV 例程200篇】152. 边缘检测之 LoG 算子
  2. hasOwnProperty()方法与in操作符
  3. python贝叶斯网络预测天气_基于pym的贝叶斯网络条件概率表的生成
  4. 逆radon变换matlab,Radon变换及其Matlab代码实现
  5. PHP架构师的成长之路
  6. 实现Pow(x,n),报错超出最大堆栈Maximum stack exceeded 以及 Math.floor用法(记录走过的坑)
  7. 【网络科普】宽带电缆 vs DSL vs 光纤
  8. Java面试?看这一篇就够了
  9. 音视频开发之基于某三方音效的Android native层四声道音频输出
  10. todo有android版本吗,高效todo手机app下载
  11. 融360|简普科技《维度》报告:超过三成受访者遇过理财投资陷阱 90后受害最深
  12. Linux conda tensorflow-gpu安装及Not creating XLA devices, tf_xla_enable_xla_devices not set相关问题解决
  13. 七、系统架构 - 伸缩性架构设计
  14. HttpsUtil(GET/POST/DELETE/PUT)
  15. 【数据恢复】【傲梅分区助手】
  16. Jackson JsonNode和ObjectNode的使用
  17. vue : 无法加载文件 C:\Users\Lenovo\AppData\Roaming\npm\vue.ps1。...无法在当前系统上运行该脚本。
  18. browserify使用手册
  19. NPU算力集成解决方案
  20. Activiti查看流程历史记录

热门文章

  1. Internet Information Services 5.0 技术概述(转)
  2. UVa 紫书百题留念
  3. 小米门卡协议加载失败_小米门禁卡没反应怎么回事
  4. php图片处理更新,PHP图片处理的函数学习 | Soo Smart!
  5. before和after怎么区分_before和after区别
  6. python文件打包成之pyinstaller使用
  7. 【Microsoft Azure 的1024种玩法】七十四.五分钟在Azure Virtual Machines中快速部署一套软件项目管理及自动构建工具
  8. 游戏辅助制作核心--植物大战僵尸逆向之阳光修改(一)
  9. 动态树(LCT)初探
  10. nyoj 一笔画问题