在 Debian 上优化 vsftpd 的传输速度,通常需要从 系统参数、vsftpd 配置、网络、磁盘 IO 等多方面入手。下面给你一套实用优化清单,从最常见到进阶。
编辑配置文件:
sudo nano /etc/vsftpd.conf
reverse_lookup_enable=NO
anonymous_enable=NO
local_enable=YES
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
并在防火墙中放行:
sudo ufw allow 30000:31000/tcp
ascii_upload_enable=NO
ascii_download_enable=NO
FTP 默认已经是二进制,关闭 ASCII 可避免额外处理
max_clients=200
max_per_ip=10
xferlog_enable=NO
log_ftp_protocol=NO
⚠️ 调试时再开启
sudo nano /etc/sysctl.conf
添加:
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_congestion_control = cubic
生效:
sudo sysctl -p
sudo nano /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
ext4xfs(推荐高并发)避免:
ext3mount -o remount,noatime /
永久:
sudo nano /etc/fstab
defaults,noatime
ssl_ciphers=HIGH
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
debug_ssl=NO
✅ 使用 被动模式
✅ 使用 多线程 FTP 客户端(如 FileZilla)
✅ 避免 Windows 自带 FTP(性能差)
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
reverse_lookup_enable=NO
max_clients=200
max_per_ip=10
xferlog_enable=NO
重启服务:
sudo systemctl restart vsftpd
iperf3 测试带宽iotop 看磁盘 IOtop / htop 看 CPU如果你愿意,可以告诉我:
我可以给你 针对你环境的精准优化方案。