温馨提示×

centos ftpserver怎样测速优化

小樊
36
2026-09-24 07:28:17
栏目: 智能运维

下面按**“先测速,再优化”**的思路,给你一套在 CentOS 上搭建/优化 FTP(通常是 vsftpd)服务器的实用方案。


一、FTP 服务器测速(先搞清楚瓶颈)

1. 确认 FTP 服务类型

CentOS 常用的是 vsftpd:

rpm -qa | grep vsftpd

2. 本地测速(排除网络)

在服务器本机测试磁盘 IO:

dd if=/dev/zero of=/tmp/test bs=1M count=1000 oflag=direct

看写入速度(MB/s)


3. FTP 客户端测速

Linux 客户端

ftp ftp://user:pass@server_ip
ftp> put bigfile.iso
ftp> get bigfile.iso

或用 lftp(推荐,支持多线程):

lftp -u user,pass ftp://server_ip
lftp> pget -n 10 bigfile.iso

Windows 客户端

  • FileZilla
  • FlashFXP
    勾选多线程传输测速

4. 网络层测速

iperf3 -s   # 服务端
iperf3 -c server_ip  # 客户端

如果 iperf 很快但 FTP 慢 → FTP 配置问题


二、vsftpd 常见优化项(核心)

1. 开启被动模式(最重要)

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

防火墙放行:

firewall-cmd --add-port=30000-31000/tcp --permanent
firewall-cmd --reload

2. 关闭 DNS 反向解析(提速明显)

reverse_lookup_enable=NO

3. 调整并发与连接数

max_clients=200
max_per_ip=10

4. 关闭匿名 & 限制用户

anonymous_enable=NO
local_enable=YES
write_enable=YES

5. 启用异步 IO(CentOS 7+)

async_abor_enable=YES

6. 使用 64 位大文件支持

use_localtime=YES

三、系统级优化(很多人忽略)

1. 调整 TCP 参数

cat >> /etc/sysctl.conf <<EOF
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_window_scaling = 1
EOF

sysctl -p

2. 磁盘调度(SSD 推荐)

echo deadline > /sys/block/sda/queue/scheduler

3. 关闭 SELinux(调试阶段)

setenforce 0

正式环境改为:

setsebool -P ftpd_full_access on

四、进阶:用 SFTP / FTPS 替代 FTP(更快更安全)

FTP 本身明文 + 多端口,性能和安全都不如:

  • SFTP(OpenSSH)
scp bigfile.iso user@server:/path
  • FTPS(FTP over SSL)
ssl_enable=YES

五、快速排查清单 ✅

  • [ ] 被动端口已放行
  • [ ] 没开 DNS 反向解析
  • [ ] iperf 正常
  • [ ] 磁盘 IO 不是瓶颈
  • [ ] 客户端支持多线程

如果你愿意,可以告诉我:

  • CentOS 版本(6/7/8/Stream)
  • vsftpd 还是 proftpd
  • 公网 / 内网
  • 单线程还是多线程慢

我可以直接帮你写一份最优 vsftpd.conf。

0 踩