一、应用背景

主要用于系统的稳定性测试。它可以复制线上服务器的请求,通过修改TCP/IP数据包信息,进而发送到测试服务器,为测试服务器创造一个真实的测试环境。

二、组成部分

  1. TCPCopy Server:部署在 测试服务器 ,用于接收复制的线上请求
  2. TCPCopy Client:部署在 线上服务器 ,用于捕获线上请求,通过修改TCP/IP数据包,发送到TCPCopy Server进行稳定性测试

三、下载及安装

  1. 下载地址: TCPCopy
  2. 文档地址: TCPCopy_Manual.pdf
  3. 解压后,进入TCPCopy根目录
  4. ./configure
  5. make
  6. make install

这里使用的是默认安装,可以到/usr/local/bin下面查看是否生成tcpcopy和intercept。

四、使用

  1. 测试服务器(TCPCopy Server) 

    sudo su
    modprobe ip_queue
    iptables -I OUTPUT -p tcp --sport <测试项目端口> -j QUEUE
    /usr/local/bin/intercept -d
  2. 线上服务器(TCPCopy Client) 

    sudo su
    /usr/local/bin/tcpcopy -x <线上项目端口>-<测试服务器IP>:<测试项目端口> -d

五、例子

测试服务器IP和端口:10.0.0.1 9080 
线上服务器IP和端口:20.0.0.1 8080

  1. 测试服务器(TCPCopy Server) 

    sudo su
    modprobe ip_queue
    iptables -I OUTPUT -p tcp --sport 9080 -j QUEUE
    /usr/local/bin/intercept -d
  2. 线上服务器(TCPCopy Client) 

    sudo su
    /usr/local/bin/tcpcopy -x 8080-10.0.0.1:9080 -d