You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

FileZilla通过SFTP上传至Debian OpenSSH服务器速度过慢的优化咨询

FileZilla通过SFTP上传至Debian OpenSSH服务器速度过慢的优化咨询

Hey,我之前帮朋友排查过几乎一模一样的SFTP上传慢问题,结合OpenSSH和FileZilla的特性,给你几个实际可行的优化方向,你可以挨个试:

一、调整Debian上OpenSSH服务器的配置

高延迟环境下,OpenSSH默认的TCP参数很容易成为瓶颈,你可以修改/etc/ssh/sshd_config文件:

  • 先禁用DNS反向解析,避免连接时的不必要延迟:
    UseDNS no
    
  • 增大TCP窗口大小,适配你的带宽延迟乘积(你的情况大概需要300KB以上的缓冲区):
    TCPWindowSize 327680
    
  • 保持连接活跃,防止超时断开或者传输停滞:
    ClientAliveInterval 30
    ClientAliveCountMax 3
    

修改完之后,重启SSH服务生效:

sudo systemctl restart sshd

二、优化FileZilla的传输设置

有时候客户端的默认设置也会拖慢速度:

  • 打开FileZilla的「编辑」->「设置」->「传输设置」->「SFTP」,勾选「允许SFTP的TCP窗口大小调整」,如果有手动设置项,填和服务器端一致的327680
  • 关闭不必要的压缩:如果传的是视频、压缩包这类本身已经压缩过的文件,FileZilla的SFTP压缩会浪费CPU资源,反而拖慢速度。在「传输设置」里把压缩模式改成「关闭」或者「自动」(自动会判断文件是否适合压缩)。
  • 试试减少并发传输数:你现在同时传2个文件,反而可能因为SSH会话的资源竞争拖慢单文件速度,可以暂时把「限制同时传输的文件数」改成1,测试下单个文件的上传速度有没有提升。

三、排查服务器端的资源瓶颈

上传速度慢也可能是服务器本身的资源不够:

  • top命令看CPU使用率,如果SSH进程(sshd)占用CPU很高,可能是压缩或者加密消耗过大,这时候可以考虑关闭压缩,或者换用更轻量的加密算法(比如在sshd_config里加Ciphers chacha20-poly1305@openssh.com,这个算法CPU占用更低)。
  • iotop命令检查磁盘IO,上传的时候如果磁盘读写占用100%,那速度肯定会被磁盘限制,尤其是机械硬盘的话,这种情况很常见,可以先暂停服务器上的其他磁盘密集型任务再测试。
  • 确认服务器有没有被防火墙或者机房限制带宽,比如用speedtest-cli在服务器上测下上行带宽,看看是不是服务器本身的带宽就不够。

四、换用其他SFTP客户端测试

先排除是不是FileZilla的问题,比如用命令行的scp或者sftp上传同一个文件:

scp /本地文件路径 你的用户名@服务器IP:/服务器目标路径

如果命令行上传速度正常,那问题肯定在FileZilla的设置上;如果命令行也慢,那重点就放在服务器端的SSH配置和资源排查上。

备注:内容来源于stack exchange,提问作者Jez

火山引擎 最新活动