温馨提示×

centos sftp怎样提传输速度

小樊
49
2026-09-18 03:32:21
栏目: 智能运维

在 CentOS 上提升 SFTP 传输速度,可以从 网络、SSH/SFTP 配置、磁盘、并发方式 几个方面入手。下面按实用程度给你总结。


一、优先检查(最容易忽略)

1. 网络本身是不是瓶颈

iperf3 -s   # 服务端
iperf3 -c 服务器IP
  • 如果 iperf 速度就慢,问题在网络/带宽/链路
  • SFTP 再怎么调也快不了

2. 磁盘 IO 是不是瓶颈

iostat -x 1
  • %util 接近 100% 说明磁盘是瓶颈
  • 换 SSD / RAID 可显著提升

二、SSH / SFTP 服务端优化(重点)

1. 修改 SSH 配置(推荐)

编辑:

vi /etc/ssh/sshd_config

添加或修改:

# 启用压缩(小文件有用,大文件可能反效果)
# Compression no

# 使用更快的加密算法
Ciphers aes128-ctr,aes192-ctr,aes256-ctr

# 提高 TCP 性能
TCPKeepAlive yes

# 允许更多并发
MaxSessions 50

重启:

systemctl restart sshd

2. 使用更快的 MAC / KEX(CentOS 7+)

KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256
MACs hmac-sha2-256

三、客户端传输优化(非常有效)

1. 使用 sftp -C(压缩)

sftp -C user@host

✅ 对小文本文件有效
❌ 对视频/压缩包几乎无效


2. 使用 rsync 代替 sftp(强烈推荐)

rsync -avzP /local/path/ user@host:/remote/path/

优点:

  • 断点续传
  • 只传变化文件
  • 比 sftp 稳定快

3. 并行传输(大目录神器)

# 安装 lftp
yum install lftp -y

lftp sftp://user:pass@host \
-e "mirror -P 10 /remote/path /local/path; exit"

-P 10 表示 10 个并发


四、系统层面优化(高级)

1. 调整 TCP 参数

echo "
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.ipv4.tcp_rmem=4096 87380 16777216
net.ipv4.tcp_wmem=4096 65536 16777216
" >> /etc/sysctl.conf

sysctl -p

2. 如果是虚拟机

  • 使用 virtio / para-virtualized NIC
  • 避免 NAT 多层转发

五、不推荐的做法(提醒)

❌ 关闭加密(不安全)
❌ 改默认端口提升速度(没用)
❌ 用 root 提速度(不安全)


六、快速推荐方案(按场景)

场景 推荐
大文件 rsync / lftp 并发
小文件多 lftp mirror -P
跨公网 压缩 + TCP 优化
内网 默认配置就很快

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

  • CentOS 版本(6/7/8)
  • SFTP 使用方式(命令行 / FileZilla / 程序)
  • 是上传还是下载慢

我可以给你针对性配置。

0 踩