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

tcpcopy新版架构图
tcpcopy包含三部分:online server、assistant server、target server
tcpcopy拷贝一次流量访问的步骤如下 1、一个访问请求到达线上内核后端机; 2、socket 包在 IP 层被拷贝了一份传给tcpcopy 进程; 3、tcpcopy 修改包的目的及源地址,发给测试内核后端机; 4、拷贝的包到达测试内核后端机; 5、测试内核后端机的推荐内核处理访问,并返回结果; 6、返回结果在 IP 层被截获、丢弃,由 intercept 拷贝返回结果的 IP header 返回; 7、IP header 被发送给线上内核后端机的 tcpcopy 进程。
三、tcpcopy搭建
3.1 服务器规划 角色 主机名 mysql端口
online server test00 3308(5.6)
assistant server offline01

本文介绍了tcpcopy工具的使用,它是一个分布式在线压力测试工具,能够实时复制线上流量到测试环境,以模拟真实场景。详细阐述了tcpcopy的工作原理,包括其online server、assistant server和target server的角色。并提供了tcpcopy的搭建步骤,包括服务器规划、依赖安装和流量复制操作。同时,文章中还提到了在实际部署过程中可能遇到的问题及解决策略。
最低0.47元/天 解锁文章

466

被折叠的 条评论
为什么被折叠?



