首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Http多范围请求速度慢

Http多范围请求速度慢
EN

Stack Overflow用户
提问于 2015-12-29 22:40:49
回答 1查看 264关注 0票数 0

我有8 gb的文件在服务器上,我想从这个文件下载1.5 gb使用http多范围请求。我使用curl。

除了第一个请求之外,所有的请求都均匀分布在文件上,第一个请求的大小为500mb (总共有161个请求)。

我发现,这个大范围的第一个请求的下载时间约为40秒,总时间约为560秒。这意味着,我下载500mb的时间为40秒,下载1 1gb的时间为520秒。因此,对于均匀分布的请求,我有6倍的速度减慢。我还注意到,当这种均匀分布的请求执行时,下载速率下降了大约6-8倍。

我不明白为什么会发生这种事。每个请求中的范围都是按偏移量递增排序的,所以我不明白为什么我们会变得如此慢。你能解释一下,是什么造成了这样的混乱吗?此外,我如何提高这类请求集的性能?

如果需要,我可以提供一组请求和时间。

EN

回答 1

Stack Overflow用户

发布于 2015-12-29 23:03:08

您没有给我们太多的工作,但您可能需要检查/考虑以下几点:

  • 你实际上是在做一个有多个范围的请求,还是多个请求,每个请求都有一个单独的范围?
  • 你确定你的服务器(和脚本,如果它是一个脚本)真的支持字节范围的请求吗?
  • 你是从静态文件下载,还是从服务器动态生成的东西下载?如果是后者,考虑到每个请求意味着服务器可能需要在只发送您感兴趣的部分之前重新生成完整的文件。
  • 在任何情况下,每个请求在实际下载之前都需要一点时间来建立(TCP连接,SSL/TLS握手,如果合适,HTTP请求)。如果您使用单独的curl调用或禁用了保持活动状态

,这一点尤其正确

多个range请求的理由是什么?你确定下载整个文件不会更快/更简单吗(可能还会在客户端做一些后处理)?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34513292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档