在 CentOS 上提升 SFTP 传输速度,可以从 网络、SSH/SFTP 配置、磁盘、并发方式 几个方面入手。下面按实用程度给你总结。
iperf3 -s # 服务端
iperf3 -c 服务器IP
iostat -x 1
%util 接近 100% 说明磁盘是瓶颈编辑:
vi /etc/ssh/sshd_config
添加或修改:
# 启用压缩(小文件有用,大文件可能反效果)
# Compression no
# 使用更快的加密算法
Ciphers aes128-ctr,aes192-ctr,aes256-ctr
# 提高 TCP 性能
TCPKeepAlive yes
# 允许更多并发
MaxSessions 50
重启:
systemctl restart sshd
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256
MACs hmac-sha2-256
sftp -C(压缩)sftp -C user@host
✅ 对小文本文件有效
❌ 对视频/压缩包几乎无效
rsync 代替 sftp(强烈推荐)rsync -avzP /local/path/ user@host:/remote/path/
优点:
# 安装 lftp
yum install lftp -y
lftp sftp://user:pass@host \
-e "mirror -P 10 /remote/path /local/path; exit"
-P 10 表示 10 个并发
echo "
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.ipv4.tcp_rmem=4096 87380 16777216
net.ipv4.tcp_wmem=4096 65536 16777216
" >> /etc/sysctl.conf
sysctl -p
❌ 关闭加密(不安全)
❌ 改默认端口提升速度(没用)
❌ 用 root 提速度(不安全)
| 场景 | 推荐 |
|---|---|
| 大文件 | rsync / lftp 并发 |
| 小文件多 | lftp mirror -P |
| 跨公网 | 压缩 + TCP 优化 |
| 内网 | 默认配置就很快 |
如果你愿意,可以告诉我:
我可以给你针对性配置。