提升 Debian 上 FTP 服务器(常见为 vsftpd、ProFTPD 或 Pure-FTPd)的速度,可以从协议配置、系统参数、网络和硬件几个方面入手。下面以最常见的 vsftpd 为主说明,同时给出通用建议。
被动模式对客户端防火墙更友好,也更容易优化:
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
然后在防火墙中放行这些端口。
ASCII 模式会逐行转换,速度慢:
ascii_upload_enable=NO
ascii_download_enable=NO
编辑 /etc/vsftpd.conf:
# 允许匿名/本地用户上传下载
write_enable=YES
# 提高并发
max_clients=200
max_per_ip=10
# 禁用 DNS 反向解析(提升连接速度)
reverse_lookup_enable=NO
# 使用独立模式(更快)
listen=YES
# 若使用 systemd,可保持默认
# 关闭不必要的日志(高负载时)
xferlog_enable=NO
修改后重启:
sudo systemctl restart vsftpd
sudo sysctl -w net.core.rmem_max=16777216
sudo sysctl -w net.core.wmem_max=16777216
sudo sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
sudo sysctl -w net.ipv4.tcp_wmem="4096 65536 16777216"
永久生效:
/etc/sysctl.conf
sudo sysctl -w net.ipv4.tcp_window_scaling=1
/etc/security/limits.conf
* soft nofile 100000
* hard nofile 100000
noatime 挂载选项mount -o remount,noatime /data
ethtool eth0
示例(lftp):
lftp -e "pget -n 10 file.iso; quit" ftp://server
如果可以不用 FTP:
用以下方式测试:
ftp localhost
如果你愿意,可以告诉我:
我可以给你针对性配置示例。