2010年06月09日
QQ 旋风推出了离线下载功能,试用了下,有些疑问,于是打算设计点实验探探原理.
在开始之前,先简单说说我观察到的现象:
- 随手找了几个资源添加到离线下载,发现都是瞬间完成.
- 有些原始下载地址下载速度很慢,通过离线下载加速后速度得到了稳定提升.
现象说完了,下面开始准备实验环境.
- 首先搭建一个 FTP 服务器,设置修改为每 IP 允许 2 个线程,每线程限制速度为 20K/S ,以便评估每个任务腾讯会启用多少台服务器来完成.
- 然后创建一个”独一无二”的文件,把某文件与空白文档打包并增加密码.保证使用离线下载不受盗链的影响.丢到 FTP 服务器上.试着下载了一下,资源数 1 ,符合要求.
- 创建离线下载任务,观察 FTP 日志,发现只有一台机器链接.
- 删除离线下载任务,发现服务器仍然在下载,尝试 T 掉,对方客户端再次链接.
- 重新建立离线下载等待完成,然后转存到本地,下载速度满速.
- 删除离线下载,新建普通下载,资源数仍然为 1 .
- 勾选离线下载,离线下载进度瞬间完成,普通下载满速.
得出的结论:
- 腾讯的离线下载每次会使用一台服务器加速(步骤 3 ).
- 即使删除离线任务,服务器仍然会将任务下载完并缓存,以备下次使用.不知道腾讯收集了多少文件,又准备了多少服务器?(步骤 4 )
- 离线下载的资源有权限限制,也就是说,如果你没有使用离线下载,旋风并不会将腾讯的离线服务器加入盗链列表.(步骤 5 与 6 )
- 即使删除离线任务,文件并不会在离线服务器上删除,仍然会被缓存.(步骤 7 )