vsftpd傳輸速度慢通常與系統配置、vsftpd參數、網絡環境相關,以下是針對性優化步驟:
關閉省電模式
進入BIOS設置,禁用TurboBoost/SpeedStep功能,避免CPU動態調參導致的性能波動;確保系統運行在“高性能”模式(通過cpufreq-selector工具調整)。
優化文件句柄限制
編輯/etc/security/limits.conf,增加文件描述符限制(避免大量并發連接時出現“Too many open files”錯誤):
* soft nofile 65535
* hard nofile 65535
編輯/etc/systemd/system.conf,修改DefaultLimitNOFILE:
DefaultLimitNOFILE=65535
重啟系統或執行systemctl daemon-reload使配置生效。
調整內核網絡參數
編輯/etc/sysctl.conf,優化TCP連接和緩沖區設置:
net.core.somaxconn = 65535 # 增大連接隊列長度
net.ipv4.ip_local_port_range = 1024 65535 # 擴大客戶端端口范圍
net.ipv4.tcp_max_syn_backlog = 65535 # 增大SYN隊列長度
net.ipv4.tcp_syncookies = 1 # 防止SYN Flood攻擊
net.ipv4.tcp_tw_reuse = 1 # 復用TIME-WAIT連接
net.ipv4.tcp_fin_timeout = 30 # 縮短TIME-WAIT超時時間
net.core.netdev_max_backlog = 2048 # 增大網卡接收隊列
執行sysctl -p使配置生效。
啟用被動模式(PASV)
被動模式更適合NAT/防火墻環境,避免主動模式下的“連接失敗”問題。在/etc/vsftpd.conf中設置:
pasv_enable=YES
pasv_min_port=1024 # 被動模式端口范圍起始值
pasv_max_port=1048 # 被動模式端口范圍結束值
需在防火墻中開放該端口范圍(如firewall-cmd --permanent --add-port=1024-1048/tcp)。
調整并發連接限制
限制最大并發連接數和單IP連接數,防止服務器過載:
max_clients=100 # 最大并發連接數(根據服務器性能調整)
max_per_ip=5 # 單IP最大連接數
避免設置過高導致資源耗盡。
限制用戶傳輸速度
通過local_max_rate(本地用戶)和anon_max_rate(匿名用戶)限制速度,避免單個用戶占用全部帶寬(單位:字節/秒,如1MB/s=1024*1024):
local_max_rate=1048576 # 本地用戶限速1MB/s
anon_max_rate=524288 # 匿名用戶限速512KB/s
禁用不必要的特性
關閉匿名訪問、IPv6(若不需要)和日志記錄(若不需要詳細日志),減少資源消耗:
anonymous_enable=NO # 禁用匿名訪問
listen_ipv6=NO # 禁用IPv6
xferlog_enable=NO # 禁用傳輸日志(若不需要)
調整傳輸緩沖區大小
增大數據傳輸緩沖區,減少數據包傳輸次數:
data_connection_buffer_size=102400 # 緩沖區大?。▎挝唬鹤止?,建議100KB-500KB)
啟用異步I/O
提升大文件傳輸效率:
async_abor_enable=YES
使用高速網絡設備
確保服務器網卡為千兆及以上(如1G/10G網卡),避免網絡瓶頸。
優化防火墻設置
若使用firewalld,開放FTP端口(21)和被動模式端口范圍:
firewall-cmd --permanent --add-service=ftp
firewall-cmd --permanent --add-port=1024-1048/tcp # 被動模式端口范圍
firewall-cmd --reload
若使用iptables,需添加相應規則。
啟用TCP Fast Open
減少TCP握手延遲,提升連接建立速度:
編輯/etc/sysctl.conf,添加:
net.ipv4.tcp_fastopen = 3
執行sysctl -p使配置生效。
若以上軟件優化仍無法滿足需求,考慮升級硬件:
yum update vsftpd升級。htop(查看CPU/內存)、iostat(查看磁盤IO)、netstat(查看連接數)等工具,定期分析性能瓶頸。通過以上優化步驟,可顯著提升vsftpd在CentOS中的傳輸速度。需根據實際服務器配置和工作負載調整參數(如max_clients、local_max_rate等),避免過度優化導致資源浪費。