在 Debian 上搭建/优化 FTP 服务器(如 vsftpd、proftpd 或 pure-ftpd)时,提速通常从网络、磁盘、FTP 服务配置、模式选择几个方面入手。下面以最常见、性能最好的 vsftpd 为例说明,并兼顾通用建议。
FTP 慢,90% 是模式或防火墙/NAT 问题。
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=你的公网IP
并确保防火墙放行:
ufw allow 21
ufw allow 30000:31000/tcp
✅ 被动模式比主动模式在 NAT/云服务器上快且稳定。
编辑 /etc/vsftpd.conf:
# 关闭 DNS 反向解析(非常影响速度)
reverse_lookup_enable=NO
# 关闭匿名
anonymous_enable=NO
# 日志不要太多
xferlog_enable=YES
log_ftp_protocol=NO
# 不显示目录消息
dirmessage_enable=NO
# 最大连接数
max_clients=200
max_per_ip=10
# 连接超时
idle_session_timeout=300
data_connection_timeout=300
# 使用 sendfile(内核级零拷贝,提速明显)
use_sendfile=YES
FTP 慢常常不是网络,而是磁盘:
df -T
defaults,noatime,barrier=0
# 增大 TCP 缓冲区
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
sysctl -w net.ipv4.tcp_wmem="4096 65536 16777216"
持久化:
/etc/sysctl.conf
FTP 本身效率低,如果可行:
✅ SFTP(SSH) ✅ HTTP/HTTPS 下载 ✅ rsync
这些在现代网络中通常比 FTP 快且安全。
ascii_upload_enable=NO
ascii_download_enable=NO
ftp localhost
或
wget ftp://user:pass@ip/file
如果你愿意,可以告诉我:
我可以直接给你一份最优配置文件。