温馨提示×

linux vsftp怎样提速

小樊
47
2026-10-24 09:20:49
栏目: 智能运维

在 Linux 下使用 vsftpd(Very Secure FTP Daemon) 时,如果感觉传输速度慢,可以从配置优化、系统参数、网络与硬件、客户端方式几个方面来提速。下面按实用程度给你一份“提速清单”。


一、vsftpd 配置层面的提速

编辑配置文件(通常是 /etc/vsftpd/vsftpd.conf 或 /etc/vsftpd.conf):

1. 关闭不必要的功能

# 关闭 DNS 反向解析(非常关键)
reverse_lookup_enable=NO

# 关闭匿名和多余日志
anonymous_enable=NO
xferlog_enable=NO

2. 提高并发与连接效率

max_clients=0
max_per_ip=0
connect_from_port_20=YES

3. 调整数据连接超时

data_connection_timeout=300
idle_session_timeout=300

4. 启用本地用户高速模式

local_enable=YES
write_enable=YES

5. 使用被动模式(PASV)并固定端口范围

被动模式对防火墙和 NAT 更友好:

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

然后在防火墙放行该端口段。


二、Linux 系统层网络优化(重要)

1. 调整 TCP 参数

编辑 /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_window_scaling = 1
net.ipv4.tcp_timestamps = 0

执行:

sysctl -p

2. 关闭 selinux(如果影响性能)

setenforce 0
# 永久关闭修改 /etc/selinux/config

三、磁盘与文件系统因素

vsftpd 本身不慢,慢往往是磁盘 IO:

  • 使用 SSD / NVMe
  • 文件系统推荐:
    • ext4
    • xfs(大文件更好)
  • 避免 FTP 目录在:
    • NFS
    • 加密文件系统(如 ecryptfs)

四、传输方式建议(立竿见影)

✅ 推荐做法

  • 使用二进制模式
ftp> binary
  • 大文件优于大量小文件
  • 使用被动模式(PASV)

❌ 不推荐

  • ASCII 模式
  • 单连接传几万个小文件
  • 跨公网 + 高延迟 + 主动模式

五、替代方案(如果还慢)

如果 vsftpd 仍不满足:

  • proftpd(配置灵活)
  • sftp(基于 SSH,稳定但略慢)
  • rsync(增量同步最快)
  • nginx + http/https(大文件下载极快)

六、简单排错命令

# 看是否是磁盘瓶颈
iostat -x 1

# 看网络
iftop
iptraf-ng

# 看 vsftpd 负载
ps aux | grep vsftpd

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

  • 是 内网还是公网
  • 上传还是下载慢
  • 单文件还是大量小文件
  • 当前 vsftpd.conf 内容

我可以帮你做精准调优。

0 踩