GoReplay:强大监控利器,轻松实现系统性能洞察

在性能测试中,有同学问起GoReplay 这个监控工具。今天就给大家准备这方面的笔记。先收藏,再点赞,接着咱们一起看。

1.介绍

GoReplay是一个开源的网络监控工具,它可以记录你的实时流量,并用于跟踪、负载测试、监控和详细分析。GoReplay提供了一种unique approach for shadowing方式:GoReplay不是以代理形式,而是监听网络接口上的流量,不需要对生产基础设施进行任何更改,而是在与服务相同的机器上运行GoReplay守护进程。

2.安装

首先安装Golang及相关依赖环境

安装GoReplay

3.使用

命令行使用

捕捉流量并通过终端输出

上述命令将监控8083端口上所有的流量,并通过终端stdout输出。你可以通过浏览器或者curl访问8083端口,然后在终端查看gor输出所有的http请求。

捕捉流量并实时同步到另一台机器

上述命令将8000端口的流量实时同步访问http://example:8001服务器,你在访问第一台服务器时,将看到流量以相同的顺序请求到第二台。

将捕捉流量保存到文件中,然后释放到其他机器

  1. 首先通过–output-file 保存流量(有时候实时同步流量是很难做到的, 所以Goreplay提供了这种先保存后释放的模式:)

上述命令将8000端口的流量,保存到requests.gor文件中(必须是.gor后缀,其它后缀经测释放时有问题)。

2.释放保存的流量

上述命令将释放所有保存在requests.gor中的请求通过相同的时间顺序释放到服务器http://另个服务器ip:8001。

Goreplay的限速机制和请求过滤

限速机制

由于生产服务器配置一般远高于测试服务器配置,所以直接将生产服务器全部流量同步到测试服务器是不可行的,Goreplay提供了两种策略:

  1. 限制每秒的请求数

2.基于Header或URL的参数限制一些请求,为指定的Header或者URL的请求设定限制的百分比

请求过滤

当需要捕捉指定路径的请求流量时,可以使用该机制,如只同步/api路径下的请求

  性能测试

性能测试,可以不考虑请求的顺序和速率,并且要求无限循环

 表示放大2倍速度来回放   

回放速率不超过10QPS(绝对值)

回放不超过原流量的10%(百分比,这里是总流量的占比)

以上就是关于GoReplay工具的详细操作笔记,有环境的同学可以跟着笔记操练起来。

联系我们领取最新就业资讯、简历模板、面试题、试学课程等资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值