全链路压测实战 30 讲
高楼
盾山科技 CEO,7DGroup 创始人
21053 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 38 讲
全链路压测实战 30 讲
15
15
1.0x
00:00/00:00
登录|注册

21 | 压测平台:高效搭建 GoReplay 压测平台

你好,我是高楼。
从这里开始,我们就进入全链路压测的第三部分“实践环境”了。
在接下来的三讲,我会详细讲讲如何搭建压测平台。要搭建压测平台,首先,我们就要选择一款适合自己项目的流量工具。在第 6 讲,我们已经详细了解了流量工具的选型。综合对比评估后,最后我们这个项目选择了老牌流量回放工具 GoReplay,因为它简单、轻量、热度够,而且完全能满足我们目前项目的要求。
所以这节课,我们就来聊一聊怎样搭建 GoReplay 压测平台。如果你对 GoReplay 非常熟悉,那可以跳过下面的概念讲解,如果你之前没有接触过 GoReplay,可以跟着我一起先大概了解下这个工具。

GoReplay 是什么?

GoReplay 的简称是 Gor,它是一个简单的 TCP/HTTP 流量录制和回放的工具,主要用 Golang 语言编写。
GoReplay 的工作原理图可以参考下面这张:
GoReplay 可以在服务器上启动一个 Gor 进程,它负责的工作包括监听、过滤、转发、回放等。通过监听网卡,它可以直接录制请求。后续它还支持实现流量回放、压力测试、性能监控等功能。
如果我们简化一下核心流程图,它会是下面这个样子:
GoReplay 从数据流中抽象出了两个概念,即输入(Input)输出(Output ),它用这两个概念来表示数据来源与去向,统称为 Plugin。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

GoReplay是一个简单的TCP/HTTP流量录制和回放工具,本文详细介绍了如何高效搭建GoReplay压测平台。文章首先介绍了Golang环境的安装步骤,然后详细讲解了GoReplay的安装过程。接着,文章介绍了GoReplay常用的参数和流量录制的核心原理,以及在具体项目中如何进行流量录制。此外,还提供了具体的录制实例和终止录制的方法。文章还强调了在录制大流量时可能出现的请求丢失情况,并给出了解决方案。通过本文,读者可以快速了解GoReplay的工作原理和搭建流程,为搭建自己的压测平台提供了实用的参考。文章内容涵盖了GoReplay的基本概念、核心原理、常用参数以及流量录制和回放的功能,为读者提供了全面的指导,使其能够快速了解GoReplay的工作原理和搭建流程。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《全链路压测实战 30 讲》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(5)

  • 最新
  • 精选
  • Geek_f9e0e5
    没有使用过 GoReplay

    作者回复: 那就学习一下吧。

    2022-02-10
    1
  • 文康
    一些tcp长连接的接口,怎么做到录制回放的

    作者回复: tcp一般不这样玩。

    2023-01-12归属地:浙江
  • lyy
    如果只想回放某个域名下的请求,比如 api.xxxx.com, 该怎么过滤呢

    作者回复: 录制的时候只录制这样链接的请求就行了。

    2022-09-13归属地:北京
  • 清风慕竹
    录制回放的哪些数据,有些订单已经还款了;有些登录过期了,高楼老师请教下这个是怎么解决处理的呢

    作者回复: 1. 每次回放之前肯定要把参数化文件刷新一遍,放进没有还款的订单。 2. 登录过期了,那肯定是要看看token过期时间。

    2022-07-03归属地:北京
  • Geek_c149bf
    最近也在调研流量回放 这个工具找了一些资料 全都是http 能支持https吗 线上环境都是https呀

    作者回复: 这个工具是可以支持HTTPS的,可以自己扩展。

    2022-05-15
    2
收起评论
显示
设置
留言
5
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部