“CentOS 上的 FTP 服务器很慢”通常不是单一原因,而是网络、配置、磁盘、SELinux、防火墙、vsftpd/proftpd 配置等多个因素叠加的结果。下面按最常见 → 较少见的顺序给你排查思路。
CentOS 常见 FTP 服务:
下面以 vsftpd 为主说明。
现象
原因 vsftpd 默认会对客户端 IP 做 DNS 反向解析
解决
vim /etc/vsftpd/vsftpd.conf
加入:
reverse_lookup_enable=NO
重启:
systemctl restart vsftpd
✅ 登录慢 90% 是这个问题
现象
ls 目录慢 / 超时原因
正确配置示例
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=你的公网IP
防火墙放行:
firewall-cmd --add-port=30000-31000/tcp --permanent
firewall-cmd --reload
云服务器还要放 安全组
现象
denied检查:
getenforce
临时关闭测试:
setenforce 0
如果变快了,说明是 SELinux 问题。
解决(推荐):
setsebool -P ftp_home_dir on
setsebool -P allow_ftpd_full_access on
检查:
systemctl status firewalld
临时关闭测试:
systemctl stop firewalld
如果变快,说明是防火墙规则问题。
现象
top 中 wa 很高检查:
iostat -x 1
可能原因:
日志写太多会变慢:
xferlog_enable=NO
log_ftp_protocol=NO
检查:
max_clients=0
max_per_ip=0
local_max_rate=0
anon_max_rate=0
如果有非零限速,会明显变慢。
你可以直接贴出:
我可以给你精确配置方案,不用再瞎试。