你们有没有这种经历?半夜三点爬起来配置vsftpd,满心欢喜以为搞定了,结果上传一个10MB的小文件,进度条卡在那里,像极了港片里慢镜头回放——你想爆粗口,但电脑不会理你,我上周就栽在这上面,网上都说香港服务器做FTP最稳,可我手头三台机器,一台阿里云国际,一台腾讯云香港,还有一台不知名的“高防特价机”,测下来数据冷冰冰,谁也别吹牛。
先交代测试环境,本地网络:上海电信千兆,实际下行800Mbps,上行50Mbps,测试工具:FileZilla客户端、iperf3、MTR路由追踪,ftp软件统一用vsftpd 3.0.5,配置文件除了被动模式端口范围改成50000-50100,别的保持默认,不搞花活,测试文件:一个512MB的随机数据文件,避免缓存作弊,连续测试三天,每天三个时段:上午10点、下午3点、晚上10点,取平均值。
第一台阿里云国际香港,2核4G,带宽30Mbps,好家伙,第一次连上去,延迟稳定在38ms,丢包率0.2%,这个数据看着还行,但一跑上传就露馅了:峰值速度只有2.8MB/s,而且每传个十几秒就断流一次,vsftpd日志里一堆“Timeout”报错,我以为是防火墙问题,检查了一圈发现是TCP窗口缩放参数默认没开,再测,速度提到3.5MB/s,但稳定性依旧拉胯,晚上高峰期丢包飙到2.1%,下载倒是还行,稳定在3.8MB/s。
香港服务器搭vsftpd,延迟到底能不能打?我测了三天,结论有点意外
第二台腾讯云香港,2核2G,带宽25Mbps,延迟42ms,比阿里云高了4ms,但丢包率只有0.05%,这个差距背后其实是路由策略不同,MTR结果显示腾讯走的是CN2直连,阿里云在某些节点绕了NTT,上传速度4.1MB/s,下载4.3MB/s,几乎没有断流,唯一槽点是晚高峰延迟会跳到55ms,但丢包依然控制在0.5%以内,vsftpd传大文件时,我发现主动模式比被动模式稳定得多,这个后面说。
第三台就是那个“特价机”,号称香港CN2、不限流量、10Mbps独享,月付只要39块钱,你猜怎么着?延迟67ms,丢包率4.8%,上传速度0.6MB/s,下载勉强1.2MB/s,MTR一看,好家伙,绕了日本、美国、新加坡,最后才到香港,比环球旅行还精彩,这玩意儿连登录vsftpd都要等十秒,别说传文件了,list个目录都卡出电音。
测试过程中有个插曲,我顺手测了一个新加坡节点做对比,延迟98ms,但丢包只有0.1%,上传速度反而达到了5.2MB/s,这说明什么?延迟高不等于慢,丢包才是FTP的杀手,vsftpd基于TCP,一丢包就重传,窗口立马减半,带宽再大都白搭,香港到大陆物理距离近,但路由绕起来,新加坡直连反而更快,所以别迷信“香港”,要看CN2还是NTT。
说回vsftpd配置,三台机器我都调了同样的参数:anon_max_rate=5000000限制速度,local_max_rate=0不限制本地用户,pasv_min_port=50000,pasv_max_port=50100,主动模式被动模式都试了,结果出人意料:延迟越低,主动模式反而越稳定,因为主动模式由服务器主动连客户端,NAT穿透可能出问题,但香港服务器离大陆近,反向连接成功率高,被动模式虽然通用,但在高丢包环境下,每建一个数据连接都要经历三次握手,丢包率高了直接崩,所以如果你用阿里云国际这种丢包略高的,强烈建议优先调主动模式。
综合来看,我的推荐很简单:腾讯云香港做vsftpd是性价比之王,稳定、丢包低、配置不折腾,阿里云国际如果你能花钱买精品网线路,也不错,但默认线路凑合能用但别抱太高期望,至于那种39块钱的“高防特价机”,我只能说,你买它不如买台树莓派挂在楼顶用WiFi传,最后补一句:别被“香港”两个字骗了,服务器稳不稳,看路由不看出生地。



发表评论