公司上传项目文件给客户,FTP传了半小时才到一半,旁边同事端着咖啡路过都忍不住问一句:这网是2008年买的?其实FTP传输速度上不去,很多时候不是宽带背锅,而是设置和环境出了问题。
带宽没跑满,可能是客户端限速了
很多人用FileZilla、WinSCP这类工具传文件,却没留意默认设置了连接限速。比如FileZilla的“传输速率限制”功能,可能被误开启成每秒几十KB。打开软件设置,找到“传输”或“速度限制”选项,确认是否手动加了限制。
服务器端并发连接数太少
有些FTP服务器为了稳定,默认只允许单线程传输。大文件在这种情况下很难拉满带宽。可以尝试在客户端启用多线程下载(如果支持),或者联系管理员检查vsftpd、ProFTPD等服务的max_clients、max_per_ip设置。
防火墙或安全组拦了高速路
企业网络常部署深层包检测防火墙,对长时间大流量连接特别敏感。有时候传着传着速度骤降,其实是防火墙触发了限流策略。云服务器还要检查安全组是否只开了21端口,而忘了放行被动模式所需的端口段(如20000-30000)。
被动模式配置不当拖后腿
在NAT或内网环境下,主动模式容易失败,被动模式又依赖正确配置data port范围。服务器端需明确指定可用端口,并在防火墙中放行。以vsftpd为例,配置片段应包含:
pasv_enable=YES
pasv_min_port=20000
pasv_max_port=30000
pasv_address=你的公网IP
DNS解析慢连带影响连接建立
别小看DNS。每次连接FTP站点都要解析域名,若本地DNS响应慢,每个连接建立都要多花几百毫秒。换成公共DNS如114.114.114.114或阿里云223.5.5.5,有时能明显改善整体传输体验。
硬盘I/O瓶颈伪装成网络问题
一台老服务器机械硬盘读取速度只有60MB/s,就算千兆带宽也跑不满。特别是同时处理多个请求时,磁盘寻道延迟直接拖垮吞吐。可以用iostat或资源监视器查看磁盘占用情况,排除是不是存储成了短板。
加密传输带来额外开销
使用FTPS或SFTP时,数据要实时加解密,CPU性能弱的设备会成为瓶颈。曾有人把旧路由器当FTP网关,启了SSL后传输速度从80MB/s掉到8MB/s,换设备立马翻倍。如果不是必须加密,普通FTP在内网更轻快。