gpt4 book ai didi

http - 文件上传期间连接关闭 - ELB 超时?

转载 作者:可可西里 更新时间:2023-11-01 16:11:06 24 4
gpt4 key购买 nike

我们最近将一个 Nexus 实例移到了 AWS,但遇到了大文件上传被关闭的问题。我们怀疑这可能是由于此 gem 导致的 ELB 超时:

“如果 HTTP 请求未在空闲超时期限内完成,负载均衡器将关闭连接,即使数据仍在传输也是如此。”

来源:http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/config-idle-timeout.html

如果正在传输数据,连接如何空闲?为什么要这样做?

有些文件有好几千兆字节 - 上传可能需要几分钟,如果忙的话可以说 30 分钟。我们应该如何支持这一点,将超时设置为 1800s 真的是推荐的修复方法吗? (最多 3,600 个)

谢谢,乔尔

最佳答案

这确实是一个有趣的 gem 。解释可能在于底层实现实际上有两个计时器,一个用于客户端,一个用于服务器。我在猜测,但如果不是出于这些原因,某些拒绝服务攻击可能更容易针对 ELB 及其背后的机器实现。

答案就在 ELB 访问日志中。如果您发现时间可疑地接近 60 秒,则可能是罪魁祸首。

增加计时器可能是一种选择。

不过,通常情况下,网络应用程序似乎需要在几毫秒内进进出出、结束并完成,然后继续进行下一步。将一个进程或线程与像上传这样的长时间运行的东西捆绑在一起意味着你可能已经能够处理成百上千个其他请求,如果不是因为上传的资源消耗。通过将它们委托(delegate)给单独的环境或服务(例如 S3,它可以接受 POST 上传,然后将浏览器重定向回您的“成功”页面,可能会更好地处理真正大文件的文件上传上传完成)。其他策略可能包括智能客户端逻辑来分段发送上传,可能是并行的,具有重新启动/重试和执行进度条等其他巧妙操作的能力。

我在 ${dayjob} 大概有 20-30 个 ELB 部署,这从来没有出现过,但是我没有任何系统可以处理面向用户的“大”文件。我考虑的这些系统的“大”上传可能是 16MB,所以绝对是不同的规模。

关于http - 文件上传期间连接关闭 - ELB 超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32728776/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com