当前位置: 首页 > 知识库问答 >
问题:

一个web服务器可以维护多少个SSE连接?

堵彬彬
2023-03-14

我正在尝试使用服务器发送事件(SSE)作为实时数据推送的websockets的替代方案(我的应用程序中的数据主要是单向的)。

这会有多大的可伸缩性?我知道每个SSE连接使用一个HTTP请求--这是否意味着web服务器可以处理和HTTP请求一样多的SSE连接(类似于以下答案)?我觉得情况可能是这样,但我不确定SSE连接是如何工作的,以及它是否比简单的HTTP请求更复杂/更需要资源。

我主要想知道这与浏览器可以保持打开的并发websockets的数量相比如何。这个答案表明一个服务器只能同时处理~1400-1800个套接字。

有人能对此提供一些见解吗?

(为了澄清,我并不是问客户端可以打开多少SSE连接;我是问web服务器可以合理地打开多少SSE连接。)

共有1个答案

燕和裕
2023-03-14

Tomcat 8(举个例子是web服务器)和更高版本,它使用NIO连接器来处理传入的请求。它可以服务最多10,000个并发连接(文档)。它没有说任何关于最大连接本身。它们还提供了另一个名为acceptCount的参数,如果连接数超过10,000,则返回。

套接字连接被视为文件。每个到tomcat的传入连接就像打开一个套接字,并且依赖于操作系统,例如在linux中依赖于文件描述符策略。当打开的连接太多或已达到最大连接数时,您会发现一个常见的错误,如下所示

java.net.SocketException: Too many files open

您可以通过编辑来更改打开文件的数量

/etc/security/limits.conf

不清楚允许的最大限制是什么。有人说tomcat的默认值是1096,但linux的(默认值)是30000,这是可以改变的。

在我分享的文章中,linkedIn团队能够在一台主机上建立250k个连接。

因此,这应该会让您对最大sse连接的可能性有一个很好的了解。取决于您的web服务器最大连接配置、OS容量等。

 类似资料:
  • A web server 一个 Web 服务器 Let’s finish with a complete Go program, a web server. This one is actually a kind of web re-server. Google provides a service at http://chart.apis.google.com that does automat

  • 正如我从留档和其他引用中看到的,连接器似乎将使用单个任务实例化,无论通过属性定义的值是多少(tasks.num) 分布式Mongodb Kafka源代码连接器,多任务不工作 Kafka Connect中连接器和任务之间的关系是什么 < li >此属性< code>tasks.num是否会产生任何影响,例如在故障转移等情况下..?比方说,如果< code>tasks.num配置为2,并且一个jdbc

  • 问题内容: 浏览器将下载HTML页面中指定的资源的最大并发连接数是多少?它随浏览器/浏览器/连接速度的不同而不同吗? 问题答案: 简短的答案是“每个域大约4到6个连接” 有关更多详细信息,请查看有关每个浏览器将与给定域建立多少个并行连接的概述。 结果总结如下…

  • 问题内容: 我想知道您是否有关于websocket的并发连接的任何数据?我在Node.js服务器上使用Socket.io。有多少个客户端可以连接到套接字并接收数据而无需关闭我的服务器?1000?1000.0000? 谢谢! 问题答案: 这在很大程度上取决于您的硬件配置,您在服务器端究竟在做什么/处理什么以及您的系统是否针对许多并发连接进行了优化。例如,默认情况下,在Linux计算机上,您可能首先会

  • 在使用Firebase云消息传递(FCM)的Firebase项目中,有一个用于云消息传递的自动生成的服务器密钥。FCM文档并没有指出可以且只能有一台服务器使用该自动生成的密钥(至少我可以找到)。但是,文档明确指出应该安全存储服务器密钥。 第一个问题:我是否错过了单个服务器记录的限制? 如果没有明确的限制,我确实会想到FCM可能会内置检查,以确保给定Firebase项目发送消息的请求仅来自单个IP地

  • 问题内容: 我正在考虑构建一个非常大的Java类,Java类可以具有的方法数量是否有限制?它可以用于数百万种方法吗? 更新:是的,目的是制作“神”类。 问题答案: 根据Java类文件规范,限制为 65535 : 4.10 Java虚拟机的局限性 文件格式隐含了Java虚拟机的以下限制: 一个类或接口可以声明的方法的数量由该结构项的大小限制为65535 (第4.1节)。请注意,结构项的值不包括从超类