【问题标题】:Increase Grails/Tomcat active HTTP connection limit增加 Grails/Tomcat 活动 HTTP 连接限制
【发布时间】:2011-07-23 00:54:54
【问题描述】:

我正在开发一个 AJAX 应用程序,该应用程序利用一个在事件发生之前一直保持活动状态的连接。对于每个窗口,将始终打开一个 HTTP 连接以侦听来自服务器的事件。在服务器端,处理请求的线程将被冻结,直到它被另一个事件解冻。冻结时,监视器线程与数据库断开连接。

活动连接的数量似乎被限制在 6 个左右。我该如何增加这个数量? HTTP 请求标头或我是否使用 GET 或 POST 对限制有任何影响吗?

【问题讨论】:

  • 实际上,这种情况下的连接限制来自浏览器(Chrome不允许超过6个同时连接到同一主机。我想知道Google Docs如何能够保持更多的连接。我会的对此进行调查。

标签: spring tomcat grails connection limit


【解决方案1】:

正如@fabus 提到的,限制在您的浏览器中。您只能与特定地址有这么多打开的连接。谷歌通过将图像托管在具有不同名称的多个不同服务器上来克服其应用程序中的问题。如果您访问 Google 地图并查看状态栏,您会看到“Loading from...”消息闪烁着不同的主机名。但是,一旦克服了这一点,您仍然必须考虑服务器端的影响。我认为,几千个线程大约是您对 JVM 的期望值,这是非常一致的。如果您真的想保持长期持久连接处于打开状态,您可能需要研究非阻塞实现。

【讨论】:

  • 非常感谢,您是在谈论 APR 和 NIO 非阻塞实现吗?你能指出一个很好的教程如何利用这些实现来处理持久连接吗?
  • 是的,我相信 APR 和 NIO 是 Tomcat 的选择。不幸的是,我不知道任何好的资源,因为我从来没有真正需要进入它。如果您正在考虑做 Comet,您应该考虑 Comet 的常见“实现”是让客户端轮询服务器而不是打开持久连接。我知道这并不完全是纯粹的“服务器推送”,但它确实很好地解决了持久连接的问题。
猜你喜欢
  • 1970-01-01
  • 2014-11-26
  • 2018-11-09
  • 1970-01-01
  • 1970-01-01
  • 2015-06-16
  • 2020-04-07
  • 1970-01-01
  • 2015-02-27
相关资源
最近更新 更多