Tcpcopy常用的幾種引流模式 3
Tcpcopy 給用戶提供了很多命令參數(shù)來(lái)修改引流的模式和設(shè)置,詳細(xì)可以查閱手冊(cè)。在這里把幾種常見的引流方式做個(gè)歸納小結(jié),以Tcpcopy傳統(tǒng)架構(gòu)使用命令舉例。
分布式引流
用法:Tcpcopy可以通過(guò)-x參數(shù)實(shí)現(xiàn)將多臺(tái)服務(wù)器的請(qǐng)求復(fù)制到同一臺(tái)測(cè)試服務(wù)器上面去,-x參數(shù)常用于分布式引流的場(chǎng)合,可以從多節(jié)點(diǎn)進(jìn)行引流復(fù)制。
#./tcpcopy -x 2080- xxx.xx.x.xxx:9999
#./tcpcopy -x 2080- xxx.xx.x.xxx:9999 -f 1
#./tcpcopy -x 2080- xxx.xx.x.xxx 9999 -f 2
適用場(chǎng)景:將線上一個(gè)集群的壓力復(fù)制到測(cè)試服務(wù)器,適用于線上集群?jiǎn)喂?jié)點(diǎn)壓力小的情況,可以通過(guò)這種方式盡量覆蓋線上所有的請(qǐng)求,這種方式常被用于容量規(guī)劃之線上壓測(cè)方式中的一種。
分層引流
對(duì)于一個(gè)復(fù)雜的線上系統(tǒng),提供多種業(yè)務(wù)如圖片、存儲(chǔ)等,各種業(yè)務(wù)壓力是不均衡的,如果在系統(tǒng)的最前端入口進(jìn)行復(fù)制引流到測(cè)試環(huán)境,那么部分功能模塊的壓力將會(huì)很大,而部分功能模塊的壓力很小壓不到上限,這時(shí)候分層引流就可以解決這樣的問題,在系統(tǒng)架構(gòu)每一層進(jìn)行引流復(fù)制壓測(cè),盡量覆蓋多的節(jié)點(diǎn)。以下是網(wǎng)易廣告系統(tǒng)分層壓測(cè)架構(gòu)圖。

離線回放
用法:離線回放模式需要再configure 的時(shí)候加上--enable-offline 參數(shù),離線回放還需要安裝pcap 庫(kù)和pcap 開發(fā)庫(kù)(需要用到pcap 庫(kù)的頭文件)另外運(yùn)行的時(shí)候需要指定-i 參數(shù)。
./tcpcopy -x 110-xxx.xxx.xxx.148:110 -i ./online.pcap
這里oline.pcap(利用類似于tcpdump 的工具來(lái)抓請(qǐng)求數(shù)據(jù)包,存放到pcap 格式的文件中去)文件作為數(shù)據(jù)源,把請(qǐng)求轉(zhuǎn)發(fā)到測(cè)試服務(wù)器上。此外增加-a參數(shù)對(duì)請(qǐng)求數(shù)據(jù)包的訪問進(jìn)行加速
./tcpcopy -x 80-xxx.xxx.x.xx:8080 -a 2 -i online.pcap
假設(shè)online.pcap 文件為在線請(qǐng)求數(shù)據(jù)包的抓包文件,時(shí)間間隔為60 分鐘執(zhí)行此命令后,離線回放加速了2 倍,只需要30 分鐘離線回放就能完成,-a 參數(shù)設(shè)置不宜設(shè)置過(guò)大,越大丟請(qǐng)求的概率也越大。
適用場(chǎng)景:由于離線方式依賴于抓包工具(如tcpdump),而抓包工具在壓力比較大的場(chǎng)合一般丟包非常嚴(yán)重,而且還會(huì)嚴(yán)重影響在線IO,因此一般不推薦在高壓情況下使用離線回放方式
部分引流
用法:Tcpcopy可以通過(guò)-r參數(shù)實(shí)現(xiàn)在線服務(wù)器應(yīng)用的部分流量復(fù)制,參數(shù)范圍是1~99,其它值都是全流量復(fù)制。-r 參數(shù)常用于測(cè)試服務(wù)器配置不如在線服務(wù)器的場(chǎng)合。
#./tcpcopy -x 2080-xxx.xx.xx.xxx:9999 -r 20
這里tcpcopy 復(fù)制在線服務(wù)器2080 端口應(yīng)用的20%流量給測(cè)試服務(wù)器,這里的20%是根據(jù)session(這里session 是由客戶端IP,客戶端端口決定)來(lái)統(tǒng)計(jì)的。
適用場(chǎng)景:部分引流主要適用于線上請(qǐng)求壓力很多,而測(cè)試環(huán)境的處理能力較弱,這時(shí)候就只需復(fù)制部分線上的請(qǐng)求到測(cè)試環(huán)境,就可以壓到測(cè)試環(huán)境的極限.
放大引流
用法:Tcpcopy可以通過(guò)-n參數(shù)對(duì)在線服務(wù)器應(yīng)用的流量進(jìn)行復(fù)制放到到測(cè)試服務(wù)器,如果你要進(jìn)行多重復(fù)制,-n參數(shù)
#./tcpcopy -x 2080-xxx.xx.x.xxx:9999 -n 3
表示復(fù)制3 倍的在線服務(wù)器的80 端口應(yīng)用請(qǐng)求流量到192.168.0.2 的8080 端口
適用場(chǎng)景:放大引流主要用于線上壓力較小時(shí),想要通過(guò)無(wú)限構(gòu)造壓力通過(guò)成倍引流達(dá)到對(duì)測(cè)試服務(wù)器進(jìn)行壓力測(cè)試的目的
相關(guān)文章:
posted on 2014-06-25 11:24 順其自然EVO 閱讀(1488) 評(píng)論(0) 編輯 收藏