一、应用背景
主要用于系统的稳定性测试。它可以复制线上服务器的请求,通过修改TCP/IP数据包信息,进而发送到测试服务器,为测试服务器创造一个真实的测试环境。
二、组成部分
- TCPCopy Server:部署在 测试服务器 ,用于接收复制的线上请求
- TCPCopy Client:部署在 线上服务器 ,用于捕获线上请求,通过修改TCP/IP数据包,发送到TCPCopy Server进行稳定性测试
三、下载及安装
- 下载地址: TCPCopy
- 文档地址: TCPCopy_Manual.pdf
- 解压后,进入TCPCopy根目录
- ./configure
- make
- make install
这里使用的是默认安装,可以到/usr/local/bin下面查看是否生成tcpcopy和intercept。
四、使用
- 测试服务器(TCPCopy Server)
sudo su
modprobe ip_queue
iptables -I OUTPUT -p tcp --sport <测试项目端口> -j QUEUE
/usr/local/bin/intercept -d - 线上服务器(TCPCopy Client)
sudo su
/usr/local/bin/tcpcopy -x <线上项目端口>-<测试服务器IP>:<测试项目端口> -d
五、例子
测试服务器IP和端口:10.0.0.1 9080
线上服务器IP和端口:20.0.0.1 8080
- 测试服务器(TCPCopy Server)
sudo su
modprobe ip_queue
iptables -I OUTPUT -p tcp --sport 9080 -j QUEUE
/usr/local/bin/intercept -d - 线上服务器(TCPCopy Client)
sudo su
/usr/local/bin/tcpcopy -x 8080-10.0.0.1:9080 -d
本着资源共享的原则,欢迎各位朋友在此基础上完善,并进一步分享,让我们的实现更加优雅。如果有任何疑问和需要进一步交流可以留言沟通
Testner创始人(testner.club) Sea