goreplay使用
最新版的发布公告:https://leonsbox.com/goreplay-v0-16-and-4th-anniversary-5408b1fd72e0
主要提到:中间件、报文解压、从kafka读取数据、把数据写到kafka
开发语音:go,因此需要go语言环境,下载地址 https://golang.org/,mac安装 https://golang.org/doc/install?download=go1.9.1.darwin-amd64.pkg,linux安装 https://golang.org/doc/install?download=go1.9.1.linux-amd64.tar.gz
gorepaly的mac安装:下载压缩包后解压后,是一个名字为goreplay的二机制文件,直接扔进/usr/bin/目录里,就可以使用了
唯一依赖:libpcap, https://github.com/buger/goreplay/wiki/Compilation
主要功能:回放真实http流量
是否免费:有可以免费的功能,专业版需要收费
文档地址:https://github.com/buger/goreplay/wiki
下载地址:https://github.com/buger/goreplay/releases,linux和mac可以直接安装使用,也可以自编译 https://github.com/buger/goreplay/wiki/Compilation
三大收费功能:support for binary protocols like Thrift or ProtocolBuffers, saving and replaying from cloud storage, TCP sessions replication, etc

基本工作原理:gorelplay在生产环境监听真实流量,生成文件用于回放,或者直接把这些真实流量转发到目标服务
goreplay可以启动一个简单的web服务器:goreplay file-server :8000,浏览器本地访问,可以看到启动命令行的目录文件,可以本地启动多个端口,进行测试goreplay的各个功能
goreplay的几个问题:https://github.com/buger/goreplay/wiki/FAQ https://github.com/buger/goreplay/wiki/Troubleshooting
1、回放会话问题
2、如何截取https流量
3、如何以非root帐号运行 https://github.com/buger/goreplay/wiki/Running-as-non-root-user
4、使用output-http时,http请求的大小有没有限制?
举例:
1、输出两份相同流量
goreplay --input-tcp :28020 --output-http "http://staging.com" --output-http "http://dev.com"
2、一份流量平均分配到两个目标网站
goreplay --input-raw :80 --output-http "http://staging.com" --output-http "http://dev.com" --split-output true
3、 默认goreplay不记录响应信息,可以通过--input-raw-track-response开启
4、可以读取kafka的流量,把流量输出到kafka
5、可以把流量输出倒ElasticSearch
6、可以使用中间件,对发出goreplay的报文进行处理
goreplay并没有系统性能分析情况,它只负责发数据,被测应用性能情况,需要用户自己统计
参考:
1、https://goreplay.org
2、https://github.com/buger/goreplay
3、https://github.com/buger/goreplay/wiki
4、https://leonsbox.com/goreplay-v0-16-and-4th-anniversary-5408b1fd72e0
5、https://mp.weixin.qq.com/s?__biz=MzA4Nzc4MjI4MQ%3D%3D&mid=2652402185&idx=1&sn=845546cee445fbf359e69a3ccb3e22c5&scene=0##
goreplay使用的更多相关文章
- HTTP引流神器Goreplay详解【官译】
0.背景 校验系统的正确性和可靠性时,仅靠用例场景无法覆盖全生产环境下的所有场景,需要一套引流工具,在系统正式上线前,用线上的请求测试待上线系统,在正常请求下,是否有报错:在数倍请求下,系统的性能瓶颈 ...
- goreplay,tcpcopy
流量拷贝工具试用 https://github.com/buger/goreplaynginx mirror openresty 通过lua tcpcopy 支持 HTTP 请求的录制和重放,可以在线 ...
- goreplay 输出流量捕获数据到 elasticsearch
goreplay 是一个很不错的流量拷贝,复制工具,小巧,支持一些扩展,当然也提供了企业版,企业版 功能更强大,支持二进制协议的分析 . 为了方便数据的存储,我们可以使用es 进行存储 环境准备 do ...
- goreplay 镜像nginx web app流量
goreplay 是一个很不错的流量拷贝,复制工具,小巧,支持一些扩展,当然也提供了企业版,企业版 功能更强大,支持二进制协议的分析 备注: 演示使用docker-compose 运行,测试镜像流量到 ...
- goreplay HTTP-HTTPS流量复制工具
goreplay相比tcpcopy只能复制HTTP和HTTPS的流量 goreplay编译很麻烦,就直接使用编译好的版本 gor_0.10.1_x64.tar.gz 支持centos5,测试的是cen ...
- goreplay(gor) golang 流量拷贝工具试用
1. 项目地址 https://github.com/buger/goreplay 2. 安装 wget https://github.com/buger/goreplay/releases/down ...
- 推荐一款简单易用线上引流测试工具:GoReplay
一. 引流测试产生背景 日常大部分的测试工作都是在测试环境下,通过模拟用户的行为来对系统进行验证,包括功能以及性能.在这个过程中,你可能会遇到以下问题: 用户访问行为比较复杂,模拟很难和用户行为一致, ...
- HTTP流量神器Goreplay核心源码详解
摘要:Goreplay 前称是 Gor,一个简单的 TCP/HTTP 流量录制及重放的工具,主要用 Go 语言编写. 本文分享自华为云社区<流量回放工具之 goreplay 核心源码分析> ...
- The Guardian’s Migration from MongoDB to PostgreSQL on Amazon RDS
转载一片mongodb 迁移pg 数据库的文章 原文:https://www.infoq.com/news/2019/01/guardian-mongodb-postgresql The Guardi ...
随机推荐
- cegui 编译过程详解(cegui-0.8.2)
cegui配置整了好长时间了,在一位大牛帮助下终于搞定了,网上的教程大多是老版本的,cegui-0.8.2版的配置寥寥无几,现在总结一下,献给正在纠结的小白们. 准备工作 第一步,先下载cegui-0 ...
- adb命令模拟按键事件
//这条命令相当于按了设备的Backkey键 adb shell input keyevent 4 //可以解锁屏幕 adb shell input keyevent 82 //在屏幕上做划屏操作, ...
- caffe工程配置问题
一开始是碰到没有caffe/caffe.hpp文件的问题,不知道怎么弄.通过百度,知道了在makefile文件里加入头文件路径和库文件路径就行. 首先是caffe.pb.h丢失问题,解决方法:http ...
- mvcs项目搭建
项目结构 下载链接:http://pan.baidu.com/s/1hsGtShA
- [HDU2829] Lawrence [四边形不等式优化dp]
题面: 传送门 思路: 依然是一道很明显的区间dp 我们设$dp\left[i\right]\left[j\right]$表示前$j$个节点分成了$i$块的最小花费,$w\left[i\right]\ ...
- [luoguP3332] [ZJOI2013]K大数查询(树套树)
传送门 一开始想的是区间线段树套权值线段树,结果好像不能实现. 然后题解是权值线段树套区间线段树. 区间线段树上标记永久化就省去了pushdown的操作减少常数. 标记永久化的话..yy不出来就看代码 ...
- 蔬菜(vegetable)
蔬菜(vegetable) 题目描述 题目背景:您使用脚本刷出了上题游戏 998244353 关的最高分 (最优解),心满意足的准备点继续学习,忽然一条弹窗弹了出来:你想明白活着的意义吗?你想真正的. ...
- C++ 静态成员的类内初始化
一般来说,关于C++类静态成员的初始化,并不会让人感到难以理解,但是提到C++ 静态成员的"类内初始化"那就容易迷糊了. 我们来看如下代码: //example.h #includ ...
- jquery - 设置/获取内容和属性
一般我们会遇到给某个元素添加或更改原有的文字: 1. 设置/获取内容 - text().html() 以及 val() 设置内容常用的三个方法: text() - 设置或返回所选元素的文本内容 htm ...
- 【01】react 之 hello world
React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站.做出来以后,发现这套东西 ...