1. TCPCopy Server(tcpcopy):部署在 测试服务器 ,用于接收复制的线上请求,github地址: https://github.com/session-replay-tools/tcpburn 2. TCPCopy Client(intercept):部署在 线上服务器 ,用于捕获线上请求,通过修改TCP/IP数据包,发送到TCPCopy Server进行稳定性测试,截获响应包,并传递响应包头信息给TCPCopy ...
tcpcopy是一种请求复制(所有基于tcp的packets)工具,可以把在线流量导入到测试系统中去,甚至可以放大在线流量,为流量类产品的测试多加一层保障。 3、情景: 分布式压力测试:(利用tcpcopy复制或放大生产流量,以触发验证高并发大流量场景下的bug) 稳定性测试:(利用tcpcopy复制或放大生产流量,验证系统服务稳定性) 回归测试...
tcpcopy运行在线上服务器上,tcpcopy会把线上服务器收到的流量,重放给测试服务器,重放的时候tcpcopy修改了IP数据包的源IP地址(譬如修改源地址为192.168.2.254)。所以,线上服务器和测试服务器应该部署相同的服务。 tcpcopy把源IP伪造成192.168.2.254的包发给了测试服务器,如此,测试服务器在处理完tcpcopy发过来的数据...
1)只能在linux上测试(kernal 2.6 or above) 2)tcpcopy可能丢包,因此丢失请求 3)root权限或socket权限是必须的(例如 setcap CAP_NET_RAW = ep tcpcopy) 4)TCPCopy现在只支持客户端启动的连接 5)TCPCopy不支持使用SSL / TLS的服务器应用程序的重放 6)对于MySQL会话重放,请参考 https://github.com/session-rep...
TCPCopy的简单用法如下:环境准备:确定配置环境:需要模拟线上服务器、测试服务器与辅助服务器。安装tcpcopy:在线上服务器上:下载tcpcopy源码,并完成编译与安装。安装intercept:在辅助服务器上:下载intercept源码,确保所有依赖包正确安装后,进行编译与安装。启动intercept:在辅助服务器上启动intercept,并...
1. tcpcopy :运行在【线上机器】,捕获线上请求 2. intercept: 运行在【辅助机器】,负责向tcpcopy发送响应信息。 3. 目标机器:被测机器 tcpcopy默认捕获网络层的包(也可以配置为捕获数据链路层的包),然后做一些必要的处理,将包发送给被测机器 tcpcopy拷贝一次流量访问的步骤如下: ...
1. 确定配置环境,包括模拟线上服务器、测试服务器与辅助服务器。2. 在线上服务器上安装tcpcopy,完成源码编译与安装。3. 辅助服务器上安装intercept,确保所有依赖包正确安装,然后进行源码编译与安装。4. 启动辅助服务器上的intercept,并确保所有参数正确配置。5. 在线上服务器与测试服务器上分别启动...
Tcpcopy 是一个分布式在线压力测试工具,可以将线上流量拷贝到测试机器,实时的模拟线上环境,达到在程序不上线的情况下实时承担线上流量的效果,尽早发现 bug,增加上线信心。 Tcpcopy 是由网易技术部于 2011 年 9 月开源的一个项目,现在已经更新到0.4版本。
很多年以前,网易推了一个tcp流量复制工具叫tcpcopy。2013年07月我入职新公司,大概10月份接触到tcpcopy,为tcpcopy修了两个bug,一个是由于公司内网的IP tunnel的问题tcpcopy无法正常工作;另一个是一个严重的性能bug。两个bug都用邮件方式向原作者反馈了,尤其第二个bug原作者在博客上发文感谢。在接下来的二次开发...
tcpcopy是一种应用请求复制(基于tcp的packets)工具,其应用领域较广,我们曾经应用于网易的广告投放系统,urs系统,nginx hmux协议开发等系统,避免了上线带来的很多问题。 总体说来,tcpcopy主要有如下功能: 1)分布式压力测试工具,利用在线数据,可以测试系统能够承受的压力大小(远比ab压力测试工具真实地多),也可以提前发现...