温馨提示×

CentOS如何提升SFTP速度

小樊
39
2026-08-03 23:26:45
栏目: 智能运维

在 CentOS 上提升 SFTP 传输速度,可以从 网络、系统内核、SSH/SFTP 配置、磁盘 IO、客户端参数 等多个层面进行优化。下面按实用程度给你一套完整方案。


一、优化 SSH / SFTP 配置(最关键)

1️⃣ 修改 SSH 配置(推荐)

编辑配置文件:

vim /etc/ssh/sshd_config

✅ 启用高性能加密算法

Ciphers aes128-ctr,aes192-ctr,aes256-ctr
MACs hmac-sha2-256,hmac-sha2-512

避免使用 aes-cbchmac-md5 等老旧算法

✅ 关闭 DNS 反向解析

UseDNS no

✅ 增加并发连接(可选)

MaxSessions 50
MaxStartups 50:30:100

✅ 关闭 GSSAPI(非常影响速度)

GSSAPIAuthentication no

✅ 启用压缩(视情况)

Compression no

局域网/高速网络建议关闭压缩
高延迟、低带宽网络可尝试 yes

重启 SSH

systemctl restart sshd

二、系统内核参数优化(高吞吐场景)

编辑:

vim /etc/sysctl.conf

✅ TCP 性能优化

net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.ipv4.tcp_congestion_control = cubic
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1

生效:

sysctl -p

三、磁盘 IO 优化(常被忽略)

1️⃣ 查看磁盘性能

iostat -x 1

2️⃣ 使用高性能磁盘调度器(SSD)

cat /sys/block/sda/queue/scheduler

推荐:

echo deadline > /sys/block/sda/queue/scheduler

或(CentOS 7+):

echo mq-deadline > /sys/block/sda/queue/scheduler

四、SFTP 客户端优化(非常重要)

✅ 使用 sftp 多线程(推荐工具)

1️⃣ 使用 lftp(比 sftp 快很多)

yum install -y lftp
lftp sftp://user@ip
mirror -c --parallel=10 /remote/path /local/path

parallel 参数可大幅提升速度


2️⃣ 使用 rsync + ssh

rsync -avzP --progress -e "ssh -c aes128-ctr" /local/path/ user@ip:/remote/path/

五、避免常见性能杀手

问题 优化建议
SELinux 临时测试:setenforce 0
防火墙 避免过多 iptables 规则
小文件 打包后传输
高延迟网络 增大 TCP window
使用 root 不建议,权限检查慢

六、快速检查清单(推荐顺序)

✅ 修改 /etc/ssh/sshd_config
✅ 关闭 GSSAPI
✅ 使用 aes-ctr 加密
✅ 使用 lftprsync
✅ 调整 TCP 参数
✅ 磁盘调度器优化


七、测试对比示例

time rsync -avzP /data/ user@ip:/data/

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

  • ✅ CentOS 版本(6 / 7 / 8 / Stream)
  • ✅ 内网还是公网
  • ✅ 单文件还是大量小文件
  • ✅ 当前速度 vs 期望速度

我可以给你 定制优化方案直接给你一套生产级配置

0