用tsunami-udp加速網絡傳輸
tsunami-udp 是一款專為網絡加速誕生的小工具。 思路很簡單,使用TCP驗證、UDP進行數據傳輸。 這樣可以無狀態的進行數據傳輸,然后中間加一些文件校驗和重傳機制,達到加速傳輸的目的。
概述
tsunami-udp 是一款專為網絡加速誕生的小工具。 思路很簡單,使用TCP驗證、UDP進行數據傳輸。
這樣可以無狀態的進行數據傳輸,然后中間加一些文件校驗和重傳機制,達到加速傳輸的目的。
傳統的tcp傳統,基于長連接,很容易受網絡波動的影響。特別是網絡擁塞的情況下,只能通過多進程/線程來進行有序傳輸。
安裝
建議將 tsunami-udp 錄入倉庫,方便用yum一鍵安裝:
sudo yum -y install tsunami-udp
使用
安裝完成后,在服務端(數據源)需要傳文件的目錄,運行tsunamid *
即可:
cd /data tsunamid *
客戶端(執行下載的機器)進入到對應的存儲目錄,執行tsunami
即可:
cd /data tsunami > connect your.server.address # 連接服務端(下載源) > get file-name # 下載指定的文件
上圖即,在中國濟南的一個聯通機房下載AWS新加坡機器上‘2.2G autodatas.tar’的文件,跨國傳輸速度接近 50Mbps (無專線)。 圖中還顯示了詳細的過程數據,比如丟了多少包、總傳輸量、有效的傳輸量 等等…… 使用超簡單吧!
監控
使用AWS新加坡的服務器作為數據庫,傳輸過程CloudWatch監控的流量:
客戶端在濟南聯通,對應的資源使用情況如下圖:
制作rpm包
另外,簡單記錄RPM打包過程。使用fpm打包最簡單了:
wget 'http://tsunami-udp.cvs.sourceforge.net/viewvc/tsunami-udp/tsunami-udp/?view=tar' -O ~/rpmbuild/SOURCES/tsunami-udp.tgz tar -zxvf tsunami-udp.tgz cd tsunami-udp ./recompile.sh mkdir -pv /tmp/usr/bin cp -fv server/tsunamid client/tsunami /tmp/usr/bin/ fpm -f -s dir -t rpm -n tsunami-udp --epoch 1 -v 1.8.1018 --iteration 1.el6 -C /dev/shm -p ~/rpmbuild/RPMS/x86_64/ -d 'glibc >= 2.12' --verbose --category 'System Environment/Daemons' --description ' A fast user-space file transfer protocol that uses TCP control and UDP data for transfer over very high speed long distance networks' --url 'http://tsunami-udp.sourceforge.net/' --license 'BSD' -m 'higkoo' --no-rpm-sign --workdir /tmp usr/bin file ~/rpmbuild/RPMS/x86_64/tsunami-udp-1.8.1018-1.el6.x86_64.rpm # 大功告成來自:http://my.oschina.net/anglix/blog/334925
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!