温馨提示×

linux ftpserver怎样提速

小樊
46
2026-09-17 10:02:46
栏目: 智能运维

在 Linux 上搭建/使用 FTP Server 时,如果觉得传输速度慢,可以从 协议选择、系统配置、网络、磁盘、FTP 软件参数 几个方面来优化。下面按实用程度给你一个清单。


一、优先建议:用更现代的协议替代 FTP

如果业务允许,优先用 SFTP / FTPS / rsync,比传统 FTP 快且安全:

  • SFTP(SSH)scp / sftp / rsync -e ssh
  • Rsync:增量同步,极快
  • FTPS:FTP + TLS

老式明文 FTP 在 NAT、防火墙、小包场景下性能很差。


二、FTP 软件层面的提速(vsftpd 为例)

1. 使用被动模式(PASV)

大多数客户端/网络环境都更适合:

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=公网IP

确保防火墙放行这些端口。


2. 增大传输窗口(重要)

# vsftpd
write_enable=YES
local_umask=022

系统层面(见下文 TCP 优化)。


3. 关闭不必要功能

xferlog_std_format=YES
ls_recurse_enable=NO
ascii_upload_enable=NO
ascii_download_enable=NO

ASCII 模式会逐字节处理,非常慢。


4. 使用独立模式(非 inetd)

listen=YES

避免每次连接都 fork。


三、Linux 系统网络参数优化(非常关键)

编辑 /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 = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_congestion_control = bbr

应用:

sysctl -p

BBR(Linux 4.9+)对高延迟/大带宽网络提升明显。


四、磁盘 IO 优化

FTP 慢常常是磁盘瓶颈:

  • 使用 SSD / NVMe
  • 文件系统:ext4 / xfs
  • 挂载选项:
noatime,nodiratime
  • 避免 RAID5 写放大(用 RAID10)

查看瓶颈:

iostat -x 1

五、并发与连接数

vsftpd

max_clients=200
max_per_ip=10

系统限制

ulimit -n 65535

/etc/security/limits.conf

* soft nofile 65535
* hard nofile 65535

六、客户端侧也很关键

  • 使用 多线程 FTP 客户端(lftp、FileZilla)
  • 示例(lftp 并行):
lftp -e "set net:max-rate 0; pget -n 10 file; exit" ftp://server

七、常见问题速查

现象 原因
单连接慢 TCP 窗口小
大量小文件慢 FTP 协议开销
公网慢 没开 PASV / BBR
CPU 高 ASCII 模式 / 加密

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

  • 用的 哪个 FTP 服务(vsftpd / proftpd / pure-ftpd)
  • 内网还是公网
  • 单文件还是大量小文件

我可以直接给你一套“可复制的配置”。

0