温馨提示×

centos sftp慢是什么原因

小樊
47
2026-09-27 03:39:55
栏目: 智能运维

在 CentOS 上 SFTP 传输慢 通常是由以下几类原因导致的,可以按顺序排查:


一、网络层面原因(最常见)

  1. 带宽不足或网络抖动
    • 跨公网、跨机房、跨国传输
    • 使用 iperf3 测试真实带宽
  2. 丢包 / 延迟高
    • ping 看延迟
    • mtr 看是否有丢包节点
  3. MTU 不匹配
    • 某些云环境 MTU 设置不当会导致 SFTP 卡顿

二、SSH / SFTP 配置问题

1. 使用了加密但 CPU 性能不足

SFTP 基于 SSH,加密会吃 CPU:

  • 老旧服务器 / 低配 VPS
  • 高并发时 CPU 100%

✅ 检查:

top

若 sshd 占用高,说明加密瓶颈。

2. SSH 算法太重

CentOS 默认可能使用较旧/重的加密算法。

✅ 优化 /etc/ssh/sshd_config:

Ciphers aes128-gcm@openssh.com,aes256-gcm@openssh.com
MACs hmac-sha2-256-etm@openssh.com

重启:

systemctl restart sshd

三、磁盘 IO 问题

SFTP 写文件直接落盘:

  • 磁盘慢(HDD、云盘限速)
  • inode 满
  • 磁盘 busy 100%

✅ 检查:

iostat -x 1
df -i

四、SFTP 子系统配置问题

1. 使用了 internal-sftp 但权限检查重

如 chroot + SELinux

✅ 建议配置:

Subsystem sftp internal-sftp

2. SELinux 影响

getenforce

若为 Enforcing,可临时测试:

setenforce 0

五、FTP 类误区(很多人误用)

  • SFTP ≠ FTPS
  • SFTP 是 单连接、加密流式传输
  • 小文件极多时会非常慢(每个文件都要握手)

✅ 小文件多建议:

  • 先 tar 再传
  • 或用 rsync

六、客户端问题

  • FileZilla / WinSCP 设置不对
  • 并发连接数太低
  • Windows 杀毒软件扫描

七、云服务器特殊原因

  • 云厂商公网带宽限制
  • 安全组限速
  • 内网传公网走 NAT

快速排查顺序(推荐)

ping 服务器
iperf3 测速
top 看 CPU
iostat 看磁盘
sshd 配置优化

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

  • CentOS 版本
  • 是公网还是内网
  • 文件大小 / 数量
  • 客户端是什么

我可以给你更精确的优化方案。

0 踩