tcpcopy引流測試
tcpcopy 0.8.0 安裝:
yum -y install libpcap-devel
tar xvf tcpcopy-0.8.0.tar.gz
cd tcpcopy-0.8.0
./configure --enable-advanced --enable-pcap
make
make install
tcpcopy原理:
tcpcopy client將request複製給tcpcopy server,tcpcopy server將response導向intercept做丟棄處理。
測試環境:
tcpcopy client:線上web服務器(後文用 ${tcpcopy_client} 表示)
tcpcopy server(intercept):測試環境server-A(後文用 ${tcpcopy_server} 表示)
測試web服務器:varnish集羣 vip-A(前端varnish集羣:${vip-A},後端nginx集羣:${vip-B})
${tcpcopy_client} 運行
tcpcopy -x 80-10.20.10.137:80 -s 10.20.10.137 -i eth0 -l tcpcopy.log -d
${tcpcopy_server} 運行
iptables -A INPUT -p tcp -m tcp --dport 36524 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --sport 80 -j QUEUE
intercept -i eth0 -F 'tcp and src host ${vip-A} src port 80' -d