在 Ubuntu 上搭建的 FTP 服务器(如 vsftpd、proftpd)出现传输速度慢,通常不是单一原因,而是网络、配置、模式、磁盘或防火墙等多方面因素叠加。下面按最常见原因 → 排查方法 → 解决建议来说明。
FTP 有:
Ubuntu 服务器在云环境 / NAT 下,被动模式最容易出问题。
现象
解决(以 vsftpd 为例)
sudo nano /etc/vsftpd.conf
确保:
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=你的公网IP
然后开放端口:
sudo ufw allow 30000:31000/tcp
MTU 过大导致分片重传。
检查
ip link
临时测试
sudo ifconfig eth0 mtu 1400
如果速度明显提升,说明是 MTU 问题。
vsftpd 默认不会限速,但某些配置会。
检查:
anon_max_rate=0
local_max_rate=0
非 0 表示限速(单位 byte/s)
FTP 很吃磁盘性能。
检查
iostat -x 1
或
dstat
如果是:
都会导致 FTP 慢。
某些客户端会卡在 IPv6 解析。
解决
listen=YES
listen_ipv6=NO
ufwiptables建议
Windows 自带 FTP 客户端效率极低。
建议
FTPS(implicit / explicit)会:
如果是 CPU 弱的机器,会明显变慢。
max_rate 限制你可以告诉我:
我可以直接给你一份可用配置。