centos7使用trcikle進行網絡限速


一、安裝epel源

yum install epel-release

二、查看是否安裝成功

Complete!
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ll
total 56
-rw-r--r--  1 root root 2323 Oct 26 14:38 CentOS-Base.repo
-rw-r--r--  1 root root 1664 Oct 26 14:34 CentOS-Base.repo.bak
-rw-r--r--. 1 root root 1309 Nov 23  2018 CentOS-CR.repo
-rw-r--r--. 1 root root  649 Nov 23  2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 Nov 23  2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 Nov 23  2018 CentOS-Media.repo
-rw-r--r--  1 root root  998 Dec 11  2018 CentOS-SCLo-scl.repo
-rw-r--r--  1 root root  971 Oct 29  2018 CentOS-SCLo-scl-rh.repo
-rw-r--r--. 1 root root 1331 Nov 23  2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 5701 Nov 23  2018 CentOS-Vault.repo
-rw-r--r--  1 root root  978 Jun 29 16:50 dell-system-update.repo
-rw-r--r--  1 root root  951 Oct  3  2017 epel.repo
-rw-r--r--  1 root root 1050 Oct  3  2017 epel-testing.repo

三、安裝trickle

[root@localhost yum.repos.d]# yum install trickle

四、運行trickle

[root@localhost yum.repos.d]# trickle -help
Usage: trickle [-hvVs] [-d <rate>] [-u <rate>] [-w <length>] [-t <seconds>]
               [-l <length>] [-n <path>] command ...
        -h           Help (this)
        -v           Increase verbosity level
        -V           Print trickle version
        -s           Run trickle in standalone mode independent of trickled
        -d <rate>    Set maximum cumulative download rate to <rate> KB/s
        -u <rate>    Set maximum cumulative upload rate to <rate> KB/s
        -w <length>  Set window length to <length> KB 
        -t <seconds> Set default smoothing time to <seconds> s
        -l <length>  Set default smoothing length to <length> KB
        -n <path>    Use trickled socket name <path>
        -L <ms>      Set latency to <ms> milliseconds
[root@localhost yum.repos.d]# 

-d <rate> 設置最大累計下載速率為 <rate> KB/s 

-u <rate> 設置最大累計上傳速度為 <rate> KB/s 

-w <length> 設置窗口長度為 <length> KB 。默認512KB。 

-t <seconds> 設置默認的平滑時間 <seconds> s 。平滑時間決定多少時間間隔trickle將嘗試讓應用程序傳輸數據。較小的值(0.1 - 1秒)會導致更連續(平滑)會話,非常適合於交互式應用。而較大的值(1 - 10秒)可能會產生一陣陣的發送和接收數據,對需要大量帶寬的應用程序更好。 

-l <length> 設置默認的平滑長度 <length> KB 。 默認10 KB。 

-n <path> 指定trickled socket名稱 <path> 。 默認/tmp/.trickled.sock 。 

-L <ms> 設置延時。

Trickle通過控制socket數據讀寫量來控制和限制應用的上傳/下載速度。它使用另一個版本的BSD套接字API,但是區別是trickle還管理socket調用。要注意的是trickle使用動態鏈接和加載,所以它只對於使用"Glibc庫"的程序有用。由於trickle可以設置數據在socket上的傳輸延遲,所以它可以用來限制一個應用的網絡帶寬。Trickle不能用於限制使用UDP協議的應用的帶寬,它只可用於TCP連接,但是你要知道它也並不是對所有的TCP。

可以通過ldd命令來查看某個應用程序是否使用了libc.so庫。如果應用程序使用了這個庫,就可以用trickle來限制網絡帶寬,否則不行

[root@localhost yum.repos.d]# ldd /usr/bin/wget |grep libc.so     
        libc.so.6 => /lib64/libc.so.6 (0x00007f9231c28000)
[root@localhost yum.repos.d]# 

五、限制wget的下載速度為10KB/S

[root@localhost src]# trickle -d 10 wget http://www.keepalived.org/software/keepalived-1.3.4.tar.gz --no-check-certificate
trickle: Could not reach trickled, working independently: No such file or directory
--2021-12-03 11:09:25--  http://www.keepalived.org/software/keepalived-1.3.4.tar.gz
Resolving www.keepalived.org (www.keepalived.org)... 91.121.30.175
Connecting to www.keepalived.org (www.keepalived.org)|91.121.30.175|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.keepalived.org/software/keepalived-1.3.4.tar.gz [following]
--2021-12-03 11:09:25--  https://www.keepalived.org/software/keepalived-1.3.4.tar.gz
Connecting to www.keepalived.org (www.keepalived.org)|91.121.30.175|:443... connected.
WARNING: cannot verify www.keepalived.org's certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’:
  Issued certificate has expired.
HTTP request sent, awaiting response... 200 OK
Length: 655420 (640K) [application/octet-stream]
Saving to: ‘keepalived-1.3.4.tar.gz.348% [===========================================>                                               ] 318,981     11.4KB/s  eta 29s 

可以看到下載速度控制在10KB左右

不使用trickle進行wget下載

[root@localhost src]# wget http://www.keepalived.org/software/keepalived-1.3.4.tar.gz --no-check-certificate              
--2021-12-03 11:11:00--  http://www.keepalived.org/software/keepalived-1.3.4.tar.gz
Resolving www.keepalived.org (www.keepalived.org)... 91.121.30.175
Connecting to www.keepalived.org (www.keepalived.org)|91.121.30.175|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.keepalived.org/software/keepalived-1.3.4.tar.gz [following]
--2021-12-03 11:11:00--  https://www.keepalived.org/software/keepalived-1.3.4.tar.gz
Connecting to www.keepalived.org (www.keepalived.org)|91.121.30.175|:443... connected.
WARNING: cannot verify www.keepalived.org's certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’:
  Issued certificate has expired.
HTTP request sent, awaiting response... 200 OK
Length: 655420 (640K) [application/octet-stream]
Saving to: ‘keepalived-1.3.4.tar.gz.456% [==================================================>                                        ] 368,133     99.0KB/s  eta 4s     

下載速度到100KB左右

六、限制一個shell的網絡帶寬下載10KB/S,上傳10KB/S

[root@localhost src]# trickle -d 10 -u 10 -s bash
[root@localhost src]#  wget http://www.keepalived.org/software/keepalived-1.3.4.tar.gz --no-check-certificate 
--2021-12-03 11:14:15--  http://www.keepalived.org/software/keepalived-1.3.4.tar.gz
Resolving www.keepalived.org (www.keepalived.org)... 91.121.30.175, 2001:41d0:1:71af::1
Connecting to www.keepalived.org (www.keepalived.org)|91.121.30.175|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.keepalived.org/software/keepalived-1.3.4.tar.gz [following]
--2021-12-03 11:14:15--  https://www.keepalived.org/software/keepalived-1.3.4.tar.gz
Connecting to www.keepalived.org (www.keepalived.org)|91.121.30.175|:443... connected.
WARNING: cannot verify www.keepalived.org's certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’:
  Issued certificate has expired.
HTTP request sent, awaiting response... 200 OK
Length: 655420 (640K) [application/octet-stream]
Saving to: ‘keepalived-1.3.4.tar.gz.518% [===============>                                                                           ] 122,373     12.4KB/s  eta 42s   

可以看到限速為10KB左右

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM