美文网首页
Gor和Tcpcopy的差异

Gor和Tcpcopy的差异

作者: Show嘿嘿 | 来源:发表于2019-07-21 20:42 被阅读0次

关于gor和tcpcopy的介绍,可以参考流量复制导流工具研究

一、协议层面
  • tcpcopy是重放TCP流的工具,在数据链路层抓取数据包。
  • Gor是重放HTTP请求的工具,基于HTTP层。
二、部署方面
  • tcpcopy的部署比较复杂,一套tcpcopy环境至少需要3台机器(生产服务器配置tcpcopy,测试服务器,响应拦截服务器intercept)。
    通过设置路由策略来修改TCP/IP头部信息来进行请求复制和响应拦截。
  • Gor的部署简单,两台即可。一台生产服务器运行Gor,将流量实时录制转发到另一台测试服务器上。
    不需要配置路由信息和响应拦截,直接使用Gor命令的参数即可。
三、应用方面
相同点
  • 复制线上真实流量,实时模拟线上流量
  • 放大真实流量,进行压力测试
  • 线上真实流量拷贝到线下回放,用于排查线上问题
不同点
  • Gor支持HTTP层面的请求过滤和流量录制(这点很实用,可以挑选感兴趣或者实际需要的流量进行回放)
  • 基于Gor的部署特性,Gor录制的流量,可以在任何环境使用。

补充说明
引流测试都会造成二次回源。
由于tcpcopy是在数据链路层抓取数据包的,无法过滤。因此,使用tcpcopy进行引流测试会造成该服务器上的所有请求都二次回源。
Gor是基于http层,可以设置过滤规则,因此回源的流量比tcpcopy小非常多。

关于Gor在实际工作中用途的思考
1.引流测试;
2.抓取特定客户的请求流量进行分析。通过分析生产环境的流量特性(url、请求头等),来完善内部测试多样性。
3.测试时如何比较CPU、内存、IO等服务器资源?Gor过滤特定流量,同时回放到两台服务器(一台开启要测试的功能,另一台没有开启),监控服务器资源。

相关文章

网友评论

      本文标题:Gor和Tcpcopy的差异

      本文链接:https://www.haomeiwen.com/subject/oomvlctx.html