tcpcopy结构.png

TCPCopy 默认从 IP 层抓包,从 IP 层发包,在测试服务器进行响应包的截获,并通过 intercept 程序返回响应包的必要信息给 TCPCopy。

在线上要引流的机器和测试机分别安装 TCPCopy,版本 tcpcopy-0.9.6.tar.gz

然后:

configure
make
make install

默认采用 ip queue 模块进行引流。

测试机操作:

modprobe ip_queue 
iptables -I OUTPUT -p tcp --sport 80 -j QUEUE 
intercept -d –l intercept.log

线上引流机操作:

tcpcopy -x 80-10.16.135.200:80 -d -l tcpcopy.log

可用于测试引流程度的方法:

  • nload –eth0 查看两边机器网卡传输
  • 直接查看 access.log

已用 Apache 的 ab 测试做了简单的实验 一共 10000 次请求 并发请求在 100 次/秒 可以达到 99.97% 的请求流量复制。

现在单台高峰期并发不到 100。

测试机器的实际情况:

测试机器.png

线上机器的实际情况:

线上机器.png