温馨提示×

如何测linux ftpserver速度

小樊
46
2026-10-02 07:14:44
栏目: 智能运维

在 Linux 上“测 FTP Server 速度”通常分两种场景:

  1. 测 FTP 服务器本身的吞吐能力(上传/下载带宽)
  2. 测客户端到 FTP 服务器的网络速度

下面按常用方法和工具说明。


一、使用 ftp / lftp 命令行测速(最常用)

1. 使用 lftp 测下载/上传速度

lftp 自带进度和速度显示,很适合测速。

安装

yum install lftp        # CentOS/RHEL
apt install lftp        # Debian/Ubuntu

测下载速度

lftp ftp://user:password@ftp.server.com -e "get bigfile.iso; bye"

观察输出中的 x MB/s

测上传速度

lftp ftp://user:password@ftp.server.com -e "put bigfile.iso; bye"

指定多线程(更接近真实带宽)

lftp ftp://user:pass@host -e "mirror --parallel=10 --use-pget=10 /remote /local; bye"

二、使用 curl 测 FTP 速度

下载测速

curl -u user:password ftp://ftp.server.com/bigfile.iso -o /dev/null

上传测速

curl -u user:password -T bigfile.iso ftp://ftp.server.com/

可加 -w 看详细时间:

curl -u user:pass ftp://host/file -o /dev/null -w "%{speed_download}\n"

三、使用 ftp 命令(传统方式)

ftp ftp.server.com
> user username
> password
> bin
> get bigfile.iso

但 ftp 命令不显示速度,不推荐用于测速。


四、在 FTP Server 本机测“服务器磁盘+服务”性能

如果你怀疑是 FTP 服务本身慢:

1. 本地生成测试文件

dd if=/dev/zero of=testfile bs=1M count=1000

2. 从本机连本机 FTP

lftp ftp://user:pass@127.0.0.1 -e "put testfile; bye"

如果本机都很慢 → 磁盘 or FTP 配置问题
如果本机快、远程慢 → 网络问题


五、网络层辅助测速(排除 FTP 本身)

1. iperf3(最准确)

# 服务端
iperf3 -s

# 客户端
iperf3 -c ftp.server.com

2. 简单网络测速

scp bigfile user@ftp.server.com:/tmp/

六、常见影响 FTP 速度的因素

  • 是否使用 被动模式(PASV)
  • 是否启用 SSL/TLS(FTPS)
  • 磁盘 IO(尤其是 HDD)
  • 网络带宽 & 延迟
  • FTP 服务配置(如 vsftpd 的 anon_max_rate)

七、推荐组合方案(实战)

✅ 最快判断方案

lftp ftp://user:pass@host -e "put 1Gfile; bye"
lftp ftp://user:pass@host -e "get 1Gfile; bye"

✅ 确认是否网络问题

iperf3 -c ftp.server.com

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

  • 用的是 vsftpd / proftpd / pure-ftpd
  • 是 内网还是公网
  • 想测 上传还是下载

我可以给你更精确的命令和参数。

0 踩