温馨提示×

centos sftp速度怎么提升

小樊
45
2026-09-21 06:33:44
栏目: 智能运维

在 CentOS 上提升 SFTP 传输速度,可以从 网络、系统参数、SSH/SFTP 配置、磁盘与并发 几个层面入手。下面按实用程度整理。


一、SSH / SFTP 服务端优化(最有效)

1. 使用更快的加密算法

默认加密可能偏安全但慢,可显式指定更快的算法。

服务端 /etc/ssh/sshd_config

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

或更快(安全性略低):

Ciphers aes128-gcm@openssh.com,aes256-gcm@openssh.com

重启:

systemctl restart sshd

客户端连接时:

sftp -o Ciphers=aes128-ctr user@host

2. 开启 SSH 压缩(小文件有用,大文件反而慢)

# sshd_config
Compression no

大文件建议 关闭压缩


3. 增加 SFTP 子进程性能(内部 SFTP)

Subsystem sftp internal-sftp

(CentOS 默认已是 internal-sftp)


二、网络与内核参数优化(大文件提速明显)

1. 调整 TCP 窗口与缓冲区

cat >> /etc/sysctl.conf <<EOF
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
EOF

sysctl -p

2. 启用 TCP BBR(CentOS 7+/8 推荐)

modprobe tcp_bbr
echo "tcp_bbr" >> /etc/modules-load.d/bbr.conf
sysctl -w net.ipv4.tcp_congestion_control=bbr

三、SFTP 客户端使用技巧

1. 使用 sftp -C 需谨慎

sftp -C user@host   # 仅适合文本类小文件

2. 大文件用 scp 或 rsync 更快

scp file user@host:/path
rsync -avP file user@host:/path

3. 并发传输(多连接)

SFTP 单连接慢时,可用:

  • lftp
lftp sftp://user@host -e "mirror -P 10 /remote /local"
  • parallel rsync

四、磁盘与文件系统因素

  • 使用 SSD / NVMe
  • 文件系统:
    • XFS(CentOS 默认,性能好)
  • 避免:
    • 磁盘 IO 瓶颈
    • SELinux 审计开销(可临时测试)

五、防火墙 / 安全软件影响

  • 关闭或调优:
    • firewalld
    • fail2ban
    • 杀毒扫描(实时扫描严重拖慢)

六、快速排查思路

# 看是否 CPU 瓶颈
top

# 看网络吞吐
iftop

# 看磁盘 IO
iostat -x 1

七、总结(最推荐组合)

✅ 使用 aes128-ctr
✅ 关闭压缩(大文件)
✅ 调整 TCP 缓冲区
✅ 启用 BBR
✅ 大文件用 rsync / lftp 并发

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

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

我可以给你一套针对性配置。

0 踩