温馨提示×

如何优化ubuntu ftpserver速度

小樊
47
2026-09-23 19:58:05
栏目: 智能运维

在 Ubuntu 上优化 FTP 服务器(常见为 vsftpd、ProFTPD 或 Pure-FTPd)的传输速度,需要从网络、系统、FTP 服务配置、文件系统多方面入手。下面以最常见的 vsftpd 为主,兼谈通用优化。


一、网络层优化(最关键)

1. 使用被动模式并正确配置端口

被动模式(PASV)对防火墙和 NAT 更友好。

vsftpd 示例:

pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000

并在防火墙中放行:

ufw allow 21/tcp
ufw allow 40000:50000/tcp

若服务器在 NAT 后,还需:

pasv_address=你的公网IP

2. 调整 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_congestion_control = bbr

应用:

sysctl -p

BBR 对高延迟/大带宽网络效果明显(需内核 ≥ 4.9)


二、vsftpd 服务配置优化

1. 提高并发与连接效率

max_clients=200
max_per_ip=10
connect_from_port_20=YES

2. 禁用不必要的功能

anonymous_enable=NO
ls_recurse_enable=NO
ascii_upload_enable=NO
ascii_download_enable=NO

3. 使用本地用户 + 高速磁盘

避免虚拟用户带来的额外开销(除非必须)。


三、磁盘与文件系统优化

1. 使用高性能文件系统

  • ext4(默认较稳)
  • xfs(大文件更好)

2. 挂载优化(示例)

/dev/sdb1 /ftp xfs defaults,noatime,nodiratime 0 0

3. RAID / SSD

  • 大量小文件:SSD + 高 IOPS
  • 大文件:RAID0 / 10

四、FTP 传输模式与客户端优化

1. 使用二进制模式

binary

2. 多线程 / 分块传输

  • 客户端使用 lftp / FileZilla
  • 并行多连接下载

lftp 示例:

lftp -e "set pget:default-n 10; pget file.iso" ftp://user@host

五、安全与速度平衡

  • 若非必要,避免 FTPS(SSL)(加密会降速)
  • 如必须加密,使用 AES-NI 支持的 CPU

六、常见问题排查

# 看带宽是否打满
iftop

# 看磁盘瓶颈
iostat -x 1

# 看连接状态
ss -tanp | grep ftp

七、如果你用的是其他 FTP 服务

  • ProFTPD:调 TimeoutIdle、MaxInstances
  • Pure-FTPd:用 -C 限制单 IP,-k 限制负载

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

  • 使用的 FTP 软件
  • 公网还是内网
  • 单文件还是大量小文件
  • 当前速度 & 带宽上限

我可以直接给你针对性配置模板。

0 踩