温馨提示×

centos sftp如何提速度

小樊
44
2026-10-14 18:51:23
栏目: 智能运维

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


一、SSH / SFTP 服务端优化(最关键)

1. 修改 SSH 配置(服务器)

编辑:

vi /etc/ssh/sshd_config

建议调整以下参数:

# 启用压缩(局域网可关,公网可开)
Compression no

# 提高加密性能(现代 CPU 推荐)
Ciphers chacha20-poly1305@openssh.com,aes128-gcm@openssh.com,aes256-gcm@openssh.com

# 提高 TCP 性能
TCPKeepAlive yes

# 增大窗口
ClientAliveInterval 60

重启 SSH:

systemctl restart sshd

二、系统网络参数优化(非常重要)

2. 调整内核网络参数

编辑:

vi /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

生效:

sysctl -p

✅ 对 高延迟 / 公网 SFTP 提速明显


三、客户端使用方式优化

3. 使用 sftp -C(压缩)

sftp -C user@host

适合:

  • 文本、日志、代码
  • 不适合:已压缩文件(zip、jpg)

4. 使用更快的替代工具(强烈推荐)

✅ rsync over SSH(比 sftp 快)

rsync -avzP file user@centos:/path/
  • 支持断点续传
  • 只传变化部分

✅ lftp(多线程 SFTP)

lftp sftp://user@host
mirror -P 10 /local /remote
  • 支持并发
  • 速度远超原生 sftp

四、磁盘与文件系统

5. 磁盘 IO 限制

用:

iostat -x 1

确认是否是磁盘瓶颈。

优化:

  • 使用 XFS / ext4
  • RAID0(性能优先)
  • SSD

五、避免 SFTP 慢的常见坑

❌ 不要在 SFTP 里大量 ls 大目录
❌ 不要单线程传大量小文件
✅ 打包后再传:

tar czf data.tgz dir/

六、测试建议

# 测试网络带宽
iperf3 -c server_ip

# 测试 SFTP 实际速度
time scp bigfile user@host:/tmp/

总结(最快方案)

✅ 公网:SSH 优化 + rsync
✅ 大文件:lftp / scp
✅ 小文件多:tar 后再传
✅ 高延迟:必须调 TCP 窗口

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

  • CentOS 版本
  • 内网还是公网
  • 单文件还是大量小文件

我可以给你针对性配置。

0 踩