【问题标题】:Optimal number of parallel downloading files并行下载文件的最佳数量
【发布时间】:2013-01-18 05:47:59
【问题描述】:

我正在尝试同时下载多个文件。如何确定要并行下载的最佳文件数?

【问题讨论】:

  • 来自同一来源?你有多个网卡吗?你能饿死其他活动吗?在客户端还是在服务器上?更多信息,伙计。
  • @Tony Hopkinson,来自不同的领域。
  • 在使数字可配置并记录效率统计信息后,没有人会比您更好地回答这个问题。

标签: c# parallel-processing webclient webclient-download downloadfileasync


【解决方案1】:

无法回答 - 这取决于您无法控制的许多工厂,主要是延迟、丢包。

最佳数量将用尽可能少的连接占用所有带宽。随着时间的推移,这可能会因下载位置(同一服务器,而不是同一服务器)而异,并且可能会受到另一方的限制。

使其可配置,从 2-4 个连接开始。

【讨论】:

  • 是否可以监控带宽使用情况?我不想测试它,但用户可以指定他的互联网连接速度。
  • 有可能,但这可能不是限制因素——服务器的带宽限制可能低于用户,然后你打开额外的下载却一无所获。
【解决方案2】:

这个问题有很多组成部分。服务器(文件主机)可以有效处理多少请求,文件大小是多少,用户电脑规格是多少,它可以处理多少线程等等......

为了简单起见,我宁愿将此变量保留为用户可通过 UI 进行配置,以便用户可以根据自己的经验和需要设置该值。

【讨论】:

    【解决方案3】:

    补充现有答案:服务器和网络的延迟非常重要。当服务器需要 1000 毫秒响应时,您可能需要 100 个连接才能使系统饱和。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-05
      • 2021-09-25
      • 1970-01-01
      • 2016-03-06
      相关资源
      最近更新 更多