優化Ubuntu FTP服務器帶寬使用的綜合方法
local_max_rate
(本地用戶)和anon_max_rate
(匿名用戶)參數設置最大傳輸速度(單位:字節/秒)。例如,限制本地用戶下載速度為50KB/s,需添加local_max_rate=50000
;限制匿名用戶為30KB/s,添加anon_max_rate=30000
。修改后重啟vsftpd服務(sudo systemctl restart vsftpd
)使配置生效。pasv_enable=YES
,并指定被動模式端口范圍(如pasv_min_port=30000
、pasv_max_port=31000
),避免防火墻或NAT設備阻止主動連接,提升數據傳輸穩定性。max_clients
參數限制最大并發連接數(如max_clients=50
),防止服務器資源耗盡;對于本地用戶,可設置local_max_clients
進一步細化控制。sudo wondershaper eth0 200 24
;取消限制用sudo wondershaper clear eth0
。limit
模塊精細化限速,例如限制FTP數據端口(20)的傳輸速度為100KB/s,添加sudo iptables -A OUTPUT -p tcp --dport 20 -m limit --limit 1/s --limit-burst 5 -j ACCEPT
;保存規則(sudo iptables-save
)避免重啟失效。sudo tc qdisc add dev eth0 root handle 1: htb
、sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit
、sudo tc class add dev eth0 parent 1:1 classid 1:10 htb rate 10mbit ceil 10mbit
、sudo iptables -t mangle -A OUTPUT -s 192.168.1.100 -j MARK --set-mark 10
、sudo tc filter add dev eth0 parent 1: protocol ip prio 1 handle 10 fw flowid 1:10
。ping
測試延遲、mtr
檢測丟包率,確保網絡穩定;優先使用高速網絡(如千兆以太網),避免共享網絡導致的帶寬搶占。/etc/sysctl.conf
中的net.core.rmem_max
(接收緩沖區)和net.core.wmem_max
(發送緩沖區)參數(如設置為262144),提升網絡傳輸效率。修改后執行sudo sysctl -p
生效。gzip
、tar
等工具壓縮文件后再傳輸(如tar -czvf file.tar.gz large_file
),減少傳輸數據量;部分FTP客戶端支持自動壓縮/解壓功能。tar -cvf files.tar *.txt
),或使用多線程工具(如lftp
的-P
參數開啟多線程)并行傳輸,提升傳輸效率。