我们的应用程序必须在30秒内下载800张图像,但即使我们将时间增加1分钟,我们的应用程序仍然无法下载所有图像。
我们如何提高下载速度?这样我们就可以在30秒内下载800张图像? 有可能吗?
有人可以建议。
答案 0 :(得分:5)
您是在一次下载一张图像,等待第一张图像在请求第二张之前完成吗?如果您并行启动多个下载(但不是太多!),它可能会更快完成。
答案 1 :(得分:3)
如果速度不受物理上的互联网连接限制,请尝试使用多个线程/进程。这就是大规模下载工作的方式。
答案 2 :(得分:1)
你无法做到这一点。您需要更快的网络连接,或者您下载的图像必须更小。 (如果可以从用户那里加速下载,那么在线游戏就不会有任何延迟。)
答案 3 :(得分:1)
您可以将图像合并为ZIP文件。
答案 4 :(得分:1)
并行下载多个资源可以显着减少下载时间。 fork
可用于并行执行。
查看Parallel::ForkManager
,这将有助于您轻松完成手头的任务。模块POD中的 DESCRIPTION 部分提供了下载器的示例。
根据您的系统配置,您必须尝试确定最大并行进程数。太少或太多的流程都会影响性能。
影响表现的因素包括: