性能测试之tcpcopy引流工具介绍

tcpcopy是一种分布式在线压力测试工具,能将线上流量实时复制到测试环境,模拟真实用户请求,帮助在上线前检测系统稳定性。它通过客户端(tcpcopy)和服务器(intercept)组件,捕获并转发线上请求数据包,实现对测试系统的真实流量压力测试,减少上线风险。使用tcpcopy时,需设置iptables和启动intercept服务,并依据不同版本选择合适的使用方法。
摘要由CSDN通过智能技术生成

背景

作为一名测试工程师,相信您一定曾经遇到过类似这样的场景:
场景一:已经按照评审过的测试用例完成所有的测试,并且也包含了异常逻辑的测试覆盖,但是版本发布,或者服务上线后可能还是出现了各种问题,导致不得不回退版本或者紧急上线修复。一旦发生这种事情不仅会对业务正常运营造成严重的影响,测试人员甚至会对自己的测试能力产生怀疑,形成恶性循环。究其根本原因,还是在于没有能够全部覆盖到用户的各种场景,越是功能复杂的软件越容易发生类似问题;为了减少这种影响,我们需要在上线之前尽量模拟真实用户操作,来校验程序是否正确稳定。
场景二:在对系统进行压测时,我们常常需要构造大量的真实数据,以便于系统能够真实的反响压测效果,那么如何构造真实用户请求呢?
这时我们就可以通过tcpcopy引流的方式,将线上真实的用户请求信息导入到测试环境中,模拟海量的真实场景来测试系统,天然解决了海量测试Case的构造问题;通过导流的方式提前校验待上线的版本是否有异常,效果如何,提前发现问题,增加上线信心,减少上线回滚率

tcpcopy 介绍

tcpcopy是一种请求复制(所有基于tcp的packets)工具,可以把在线流量导入到测试系统中去,曾经应用于网易的广告投放系统,urs系统,nginx hmux协议等系统,避免了上线带来的很多问题。现在此工具已经广泛应用于各大互联网公司

tcpcopy优势

tcpcopy是一个分布式在线压力测试工具,可以将线上流量拷贝或者回放到测试机器,实时的模拟线上环境,达到在程序不上线的情况下实时承担线上流量的效果,尽早发现 bug,增加上线信心。
与传统的压力测试工具相比,tcpcopy的最大优势在于其实时及真实性,除了少量的丢包,完全拷贝线上流量到测试机器,真实的模拟线上流量的变化规律。

tcpcopy 工作原理

组成结构

tcpcopy分为客户端(tcpcopy)和服务器(intercept)
客户端运行在线上服务器上面,用来捕获线上请求数据包;其中客户端运行在线上服务器上面,用来捕获线上请求数据包;服务器运行在测试机器上面,在测试服务器的响应包丢弃之前截获测试服务器的响应包,并通过客户端和服务器之间的tcp连接传递响应包的tcp和ip头部信息给客户端,以完成TCP交互。
tcpcopy有多个版本,不同版本的使用和操作不太一样,小编在这里简单做下介绍:
0.9版本:
在这里插入图片描述主要基于2台服务器做的流量转发,
优点:需要的机器少;支持赋值多台在线流量
缺点:执行intercept时需要设置iptables,这时候如果未释放iptables时,测试环境下的当前端口不能被外部调用

1.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值