改进方案
序号 | 原则 | 目的或优势 |
1 | 尽可能地利用带宽 | 提高效率 |
2 | 尽可能地减少同时传输的文件数 | 减少对硬盘的同时读写,旨在保护服务器和用户的硬盘,亦可尽量使硬盘不成为速度的瓶颈 |
目前情况的测试
列表中的文件均为50MB以上的大文件。
同时一个:
从上图可判断,同时下载一个文件,因为下载文件的首尾时速度慢,导致出现了有规律的“低谷”。虽然最大速率可跑满带宽,但带宽利用率不足70%。
同时二个:
虽然整体的利用率相比同时下载一个文件增高,但仍有不规律的低谷。这是因为:同时两个文件有可能几乎同时即将下载完(此时是低谷),并同时开始下载(第二个低谷)下两个文件。
设想
根据上文“改进方案”中的“原则”,关于与同时下载的任务数有以下两种方案:
- 若队列中的文件均为“大文件”,则原则上同时仅下载一个文件,但:当速率小于峰值的80%且持续达2秒时,则增加一个同时下载的文件数。这两个文件下载完成后,继续同时下载一个文件。
- 若队列中的文件均为“大文件”,则原则上同时仅下载一个文件,当某个文件即将下载完毕而未下载完毕时,就开始同时下载下个文件。实现:下载第一个文件的结尾部分时,也在同时下载下个文件的开头部分。二者相加,以便实现充分利用带宽。
包括百度网盘、360云盘,以及FTP客户端工具等等,均可考虑采纳本文的理念。