1、下載下傳tcpcopy
http://code.google.com/p/tcpcopy/downloads/list
2、配置、編譯、安裝
依此使用如下指令:
配置:
./configure
編譯:
make
安裝:
make install
3、使用方法
下面以mosquitto為例,說明tcpcopy的用法,tcpcopy分為用戶端(稱為tcpcopy)和伺服器端(稱為intercept),tcpcopy截獲并複制實際營運的程式的資料,并将其發送給待測的伺服器程式,如下圖所示:
上述配置檔案為:
1. 原始版本mosquitto程式,在實際運作的伺服器C上,ip位址為192.168.4.221,端口為1883;
2. 優化之後的mosquitto程式,在待測試的伺服器T,ip為:192.168.4.223,端口為:1888;
3. 在上述C、T兩天測試機上編譯并安裝tcpcopy程式。
4. 在實際營運伺服器C上啟動tcpcopy的用戶端tcpcopy,使用指令:
tcpcopy -x 1883-192.168.4.223:1888
這句指令的意思是,讓tcpcopy抓取本機的1883端口的資料,并将其發送到192.168.4.223的1888端口。
5. 在待測試的伺服器T上設定路由表,使用指令:
iptables -I OUTPUT -p tcp --sport 1888 -j QUEUE
6. 在待測試伺服器T上啟動tcpcopy的server程式intercept,使用指令:
intercept
7. 測試tcpcopy的用戶端和伺服器都已經起來了,實際營運的用戶端發送給原始mosquitto的資料都被複制發送給了測試伺服器T的1888端口。
8. 啟動伺服器T上的優化之後的mosquitto程式,開始測試。