在營運工作中,會遇到需要限制shell應用程式(比如wget 、crul、ftp、sftp等)串連internet的網路頻寬問題。如何在不使用複雜的firewall規則情況下設定網路頻寬呢。
工具trickle可以實現這個功能,
系統 Debian/ubuntu linux 使用apt-get方法即可安裝
$ sudo apt-get install trickle
系統CentOS / RHEL / Fedora Linux 安裝
1. 安裝epel源 地址http://www.cyberciti.biz/faq/fedora-sl-centos-redhat6-enable-epel-repo/
2. 安裝# yum install trickle
使用方法
trickle -u uploadLimit programtrickle -d downloadLimit programtrickle -u {UPLOAD_LIMIT} -d {DOWNLOAD_LIMIT} program-binary
例如限制ftp 上傳下載速度 trickle -u 100 -d 50 ftp
限制wget 下載速度 trickle -d 50 wget http://ftp.openbsd.org/pub/OpenBSD/5.2/i386/install52.iso
限制所有shell程式的頻寬方法 trickle -d 500 -u 250 bash 或者trickle -d 500 -u 250 ksh
trickle的參數使用方法
-h Help (this)
-v Increase verbosity level
-V Print trickle version
-s Run trickle in standalone mode independent of trickled
-d Set maximum cumulative download rate to KB/s
-u Set maximum cumulative upload rate to KB/s
-w Set window length to KB
-t Set default smoothing time to s
-l Set default smoothing length to KB
-n Use trickled socket name
-L Set latency to milliseconds