在 CentOS 上部署 FTP 服务(常用 vsftpd,也可能是 ProFTPD / Pure-FTPd),性能优化通常从系统参数、FTP 服务配置、文件系统、网络和安全限制几个方面入手。下面以 vsftpd(最常用) 为主说明。
max_clients=1000
max_per_ip=20
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
防火墙需放行该范围
anonymous_enable=NO
xferlog_enable=YES
ls_recurse_enable=NO
ascii_upload_enable=NO
ascii_download_enable=NO
write_enable=YES
local_umask=022
connect_from_port_20=YES
idle_session_timeout=300
data_connection_timeout=120
ulimit -n
修改:
/etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
执行:
sysctl -p
noatime,nodiratime
firewall-cmd --add-port=21/tcp --permanent
firewall-cmd --add-port=30000-31000/tcp --permanent
firewall-cmd --reload
setsebool -P ftpd_full_access on
如启用 SSL:
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
SSL 会增加 CPU 开销,高并发建议专用网卡或硬件加速
ss -ant | grep :21
top
iostat -x 1
ftpbench
lftp
可告诉我具体 FTP 软件,我可以给对应优化方案。
✅ 总结一句话:
CentOS FTP 性能优化 = 合理 PASV 端口 + 高并发参数 + 系统文件句柄/网络调优 + 精简功能
如果你能告诉我:
我可以直接给你一套可落地的配置模板。