温馨提示×

centos sftp 慢是什么原因

小樊
52
2026-09-02 22:43:23
栏目: 智能运维

CentOS 上 SFTP 传输慢 通常由以下几类原因导致,按出现频率从高到低说明:


一、网络相关(最常见)

  1. 带宽不足或限速
    • 服务器出口带宽小
    • 中间网络设备(防火墙、交换机、云厂商)限速
  2. 高延迟 / 丢包
    • 跨地域、跨国传输
    • 网络质量差,丢包会导致 SFTP(基于 SSH)频繁重传
  3. MTU / 网卡问题
    • MTU 设置不合理(如 1500 过大导致分片)
    • 网卡半双工、驱动异常

✅ 排查:

ping 目标IP
mtr 目标IP
iperf3 -c 目标IP

二、SSH / SFTP 配置问题

  1. 加密算法太重
    • 默认使用 aes-256-ctr + hmac-sha2-256
    • 老 CPU 或低配 VPS 性能差
  2. DNS 反向解析
    • SSH 默认 UseDNS yes,连接时卡顿
  3. GSSAPI 认证
    • 开启后可能拖慢连接

✅ 优化 /etc/ssh/sshd_config

UseDNS no
GSSAPIAuthentication no
Ciphers aes128-ctr,aes192-ctr,aes256-ctr

重启:

systemctl restart sshd

三、磁盘 IO 瓶颈

  1. 磁盘读写慢
    • 机械盘 / 云盘 IO 限制
    • 写入目录有大量小文件
  2. 磁盘满 / inode 满
    df -h
    df -i
    

✅ 测试磁盘:

dd if=/dev/zero of=test bs=1M count=500 oflag=direct

四、系统资源问题

  1. CPU 跑满
    • SFTP 依赖 SSH 加密,CPU 高会直接变慢
    top
    
  2. 内存不足 / 大量 swap
    free -h
    

五、SFTP 本身机制限制

  • SFTP 不是为高速传输设计
  • 单连接、无并发
  • 小文件极慢(每个文件都有握手)

✅ 替代方案:

  • rsync(支持增量、压缩)
  • scp -C
  • 打包后传:
tar czf file.tgz dir/

六、SELinux / 防火墙

  • SELinux 策略异常
  • 防火墙 DPI(深度包检测)限速

✅ 临时测试:

setenforce 0

七、云服务器特有原因

  • 云盘突发性能限制
  • 公网带宽按量计费被限速
  • 安全组限制

快速排查顺序建议

  1. ping / mtr → 网络
  2. top / df / dd → 系统 & 磁盘
  3. sshd_config → SSH 优化
  4. rsync 测试 → 协议问题

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

  • 上传慢还是下载慢
  • 文件类型(大文件 / 小文件)
  • 服务器配置(CPU / 带宽)

我可以帮你精准定位。

0