OneDrive同步下载速度慢的原因研究

2020-01-31 5098点热度 4人点赞 5条评论

同步网盘自从金山快盘关了以后,一直凑合在用坚果云。但坚果云收费给的空间还是有点小,免费更是不够用。最近发现OneDrive淘宝上可以以超低价格白嫖5 TB空间(给商家打个广告 https://item.taobao.com/item.htm?id=611799583376 ,选标准5T随机只需要8元,反正是用来做同步盘又不收发邮件,账户名随便就好)。优点是价格便宜,没了也不可惜,同步的数据本地都有一份也不怕数据丢失;缺点一是OneDrive服务器在香港,速度不稳定。二是OneDrive帐号是子账号,隐私不能保障。不过保存不敏感资料是没任何问题的。

问题是我装好OneDrive PC端程序以后,没改host无法登陆,将host添加以下内容后可以正常登陆,虽然登陆过程有点慢:

204.79.197.213 api.onedrive.com
23.76.75.24 api.onedrive.live.com
131.253.33.217 onedrive.live.com
131.253.33.217 webedgegeo.skyprod.akadns.net
131.253.14.230 skyapi.onedrive.live.com
134.170.104.157 skyweb.skyprod.akadns.net

但发现上传文件速度还行,有1-2MB/S的速度,下载文件速度一直是0,测试了使用netsh、v2ray,SSR各种软件,结果是挂PAC代理、或者用全局代理+绕过大陆IP模式都不行,除非使用全局代理。但全局代理开不得啊,那流量哗哗哗的。并且监听流量数据发现有个by3302.storage.live.com域名,加入代理里也没任何改变。谷歌搜索了半天,网络上也没个研究出什么结果的文章,都是要么改host加入上面的内容,要么直接让开代理的。还是自己研究吧。


2020年11月26日19:43:20更新

by3302.storage.live.com应该是负责同步本地和网盘文件状态的域名。测试上传不同大小的文件,但发送到by3302.storage.live.com的数据包大小差不多。所以by3302应该是负责文件同步状态的,比如两端文件是否一致、上传进度、上传是否完成等。如果同步过程经常同步几个文件就卡住了,可以换by3302的host试试。


之后随便在OneDrive文件夹里翻了翻,无意发现有个文件

C:\Users\Administrator\AppData\Local\Microsoft\OneDrive\settings\Personal\downloads3.txt

 

上面的administrator应该改成你自己的windows用户名,personal如果是OneDrive for bussiness版的应该改成bussiness

打开一看,里面是一行行的HASH数据和URL链接。随便复制一行到浏览器输入试试,浏览器直接触发下载……这不就是正在同步下载的文件清单吗?原来下载文件的域名是https://m4jhrw.by.files.1drv.com,怪不得改host无效。

然后我们来看看 m4jhrw.by.files.1drv.com 这个域名的全球解析IP:

这一测试心凉了……全球都解析到这一个IP?那改host没有效果了。所以到目前为止,解决方案只有两种:1、买OneDrive国内世纪互联版本的,开头的淘宝店也有卖,66元。因为是世纪互联国内服务器,速度肯定有保障。这个适合还使用OneNote或者微软全家桶的,直接一揽子提速。是教育版的,已经翻车了。2、给OneDrive用梯子,同步文件都需要走梯子流量。这个适合还有其他梯子需求比如看看Netflix,YouTube。缺点是需要在所有电脑和手机都配置梯子,需要有一定电脑操作经验者。

通过SSR给OneDrive搭梯子,有两种规则模式。一种是GFWList+手动添加OneDrive的域名;一种是除大陆IP和常见域名外,包括OneDrive在内统统走梯子。

第一种设置方法:任务栏SSR图标上右键,选 规则设置 - 编辑GFWList的用户规则,弹出user-rule.txt的文本窗口。把以下规则复制到文本末尾,保存关闭。然后SSR图标右键,系统代理 - PAC,规则设置 - 更新PAC - GFWList。这样

! OneNote Start
||live.com^
||live.net^
||office.com^
||onenote.com^
||outlook.com^
||docs.com^
||sway.com^
||1drv.com^
! OneNote End

 

第二种设置方法:SSR图标右键,系统代理 - PAC,规则设置 - 更新PAC - 绕过大陆域名和IP,规则设置 - 代理规则 - 绕过局域网和大陆。这样就行了,无需特意添加OneDrive域名列表。

2020年11月26日更新  官方365家庭版使用体验

由于年初买的onedrive世纪互联版翻车了,因此又开始纠结怎么解决网盘的事。正好微软官方microsoft 365家庭版一年279元,6个人用,平摊一下每人46元/年,价格还行,故买了一年试试。

 

然后再次测试了一下速度。测试结果表明,我还是太天真了,果然是一分钱一分货。 :smile: 

 

上传下载速度如图:

上传速度倒是挺快,虽然不如世纪互联版,速度没跑满,但也相当满意。下载速度仍然是龟速。好消息是总算有点速度了,比免费个人版和免费edu邮箱版的0KB/S速度要强。大概10-100KB/S。为什么上传速度比下载速度快这么多?我个人认为微软没有理由限制付费用户的带宽,那唯一原因就是下载用户太多了,把微软数据中心的带宽都跑满了。罪魁祸首就是OneIndex之类的软件,把私人同步网盘搞成了百度网盘这样的公开下载模式,服务器又在香港,大陆到香港的带宽本来就有限,能不慢么。呼吁微软赶紧把OneIndex这类软件禁止了!

 

接着又继续测试了一下家庭版的网盘url地址。本以为收费版会有些VIP待遇,然而并没有 :smile: 。和免费版用的是同样的数据中心,唯一不同的只是空间由免费5G提升到了1T,而且1T的收费空间还不叠加5G免费空间!

按我有 免费5G+奖励10G+收费1024G计算,总空间应该是5+10+1024=1039G才对,然而微软只给了101?G。真抠门。

 

空间里文件的下载地址仍然是前文提到的by.files.1drv.com的数据节点。我还在阿里云服务器上测试了一下

 

左边两个是服务器上的CMD窗口,右边是本机电信的CMD窗口。后方是服务器浏览器下载速度

可以看出,虽然Ping延时都差不多,但阿里云明显网络更稳定没有丢包。tracert结果显示OneDrive数据保存在香港节点,阿里云走的是移动线路去香港,本机是中国电信传统163网。因此以下图结尾。

wking

不管博客型博主

文章评论

  • 小猪

    我也是上传速度非常快
    下载只有几十k
    但是开全局就快
    但是上传也走全局就受不了了
    可以只设置下载走代理吗

    2020-12-11
    • wking

      @小猪 没办法。上传下载都在一个服务器,也没有单独区别上传下载的代理软件。只有下载时候开代理,上传时把代理关了

      2020-12-18
  • 东南辞而

    OneIndex也是要到微软官方注册密钥才能用,微软授予密钥就是同意使接入,网盘慢和OneIndex有什么关系?OneIndex只是分享自己网盘的内容。慢的主要原因是墙,知道不?微软设计网盘API,就是要让其他应用调用的。全世界有多少应用接入,OneIndex接入就慢了?真可笑,建议你直接让微软关闭开放平台岂不是更好? :razz:

    2021-02-13
  • 东南辞而

    我头一次听说大企业的数据中心带宽可以被跑满。笑了,你以为人家是租的服务器?微软应用商店打不开,是不是带宽也被跑满了?OneIndex没出来之前,好像微软网盘在大陆也不快吧。我在香港使用OneIndex,不论是OneIndex,还是网盘本身,都非常快。OneIndex我也有参与开发,来喷我吧,我就是你所谓的罪魁祸首。搞几张低级测试图,就感觉自己很厉害?有本事自己开发程序接入啊?自己接入爱怎么折腾怎么折腾。你也可以拿着OneIndex去任何地方举报,祝你成功。

    2021-02-13
    • wking

      @东南辞而 ⑴有密钥可以API接入并不代表就可以用OneIndex。在我看来API是微软开放给个人,允许个人使用第三方软件访问自己网盘的内容,而不是让不特定人群访问自己网盘的内容。也就是将个人网盘变成了公开网盘,网盘性质变了。因此OneIndex是否合规合法,需要根据开通API时签署的OneDrive API 条款决定。但我没有开API,看不到条款。如果条款允许开放,那我可以把文章相关部分删了。⑵带宽为什么不可以被跑满?数据中心也是对接全球各地的网络,那到大陆的线路跑满了有什么稀奇?我文章的意思说的是微软数据中心到中国大陆的电信163网络跑满了。⑶工具只有好不好用的区别。简单顺手能找出问题的工具就是最好最高级的。你爱用复杂繁琐并且要花时间记一大堆命令的工具,那你随便。⑷参与开发oneindex、会自己开发程序接入就能冒出来莫名其妙的优越感?你确实挺厉害的。你喷的对,我会虚心接受。你喷的不对,那你就是在喷shi,你随便喷,我一眼都不会看的。

      2021-02-16