zoukankan      html  css  js  c++  java
  • 同时 下载/上传 任务数应该更智能

    改进方案

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



     

    目前情况的测试

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

    同时一个:

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

    同时二个:

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

     

    设想

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

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

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

  • 相关阅读:
    obs问题记录
    树莓派数字识别相关资料
    Focus Event
    跨浏览器的事件对象
    浅谈Javascript事件模拟
    浅谈Javascript鼠标和滚轮事件
    UI Events
    IE事件对象(The Internet Explorer Event Object)
    eclipse 调试nodejs 发生Failed to connect to standalone V8 VM错误的解决方案
    关于couldn't connect to server 127.0.0.1 shell/mongo.js:84 exception: connect failed 问题
  • 原文地址:https://www.cnblogs.com/xiaohi/p/12521307.html
Copyright © 2011-2022 走看看