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

 

改进方案

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



 

 

目前情况的测试

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

同时一个:

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

同时二个:

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

 

设想

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

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

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

posted @   article  阅读(296)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示