同时 下载/上传 任务数应该更智能

改进方案

序号 原则 目的或优势
1 尽可能地利用带宽 提高效率
2 尽可能地减少同时传输的文件数 减少对硬盘的同时读写,旨在保护服务器和用户的硬盘,亦可尽量使硬盘不成为速度的瓶颈



 

目前情况的测试

列表中的文件均为50MB以上的大文件。

同时一个:

 从上图可判断,同时下载一个文件,因为下载文件的首尾时速度慢,导致出现了有规律的“低谷”。虽然最大速率可跑满带宽,但带宽利用率不足70%。

同时二个:

虽然整体的利用率相比同时下载一个文件增高,但仍有不规律的低谷。这是因为:同时两个文件有可能几乎同时即将下载完(此时是低谷),并同时开始下载(第二个低谷)下两个文件。

 

设想

根据上文“改进方案”中的“原则”,关于与同时下载的任务数有以下两种方案:

  • 若队列中的文件均为“大文件”,则原则上同时仅下载一个文件,但:当速率小于峰值的80%且持续达2秒时,则增加一个同时下载的文件数。这两个文件下载完成后,继续同时下载一个文件。
  • 若队列中的文件均为“大文件”,则原则上同时仅下载一个文件,当某个文件即将下载完毕而未下载完毕时,就开始同时下载下个文件。实现:下载第一个文件的结尾部分时,也在同时下载下个文件的开头部分。二者相加,以便实现充分利用带宽。

包括百度网盘、360云盘,以及FTP客户端工具等等,均可考虑采纳本文的理念。

猜你喜欢

转载自www.cnblogs.com/xiaohi/p/12521307.html