如何减少下载时间

时间:2010-11-18 14:28:54

标签: perl

我们的应用程序必须在30秒内下载800张图像,但即使我们将时间增加1分钟,我们的应用程序仍然无法下载所有图像。

我们如何提高下载速度?这样我们就可以在30秒内下载800张图像? 有可能吗?

有人可以建议。

5 个答案:

答案 0 :(得分:5)

您是在一次下载一张图像,等待第一张图像在请求第二张之前完成吗?如果您并行启动多个下载(但不是太多!),它可能会更快完成。

答案 1 :(得分:3)

如果速度不受物理上的互联网连接限制,请尝试使用多个线程/进程。这就是大规模下载工作的方式。

答案 2 :(得分:1)

你无法做到这一点。您需要更快的网络连接,或者您下载的图像必须更小。 (如果可以从用户那里加速下载,那么在线游戏就不会有任何延迟。)

答案 3 :(得分:1)

您可以将图像合并为ZIP文件。

答案 4 :(得分:1)

并行下载多个资源可以显着减少下载时间。 fork可用于并行执行。

查看Parallel::ForkManager,这将有助于您轻松完成手头的任务。模块POD中的 DESCRIPTION 部分提供了下载器的示例。

根据您的系统配置,您必须尝试确定最大并行进程数。太少或太多的流程都会影响性能。

影响表现的因素包括:

  • CPU速度
  • CPU调度程序
  • 内存
  • 网络速度
  • 网络拥堵