WebSocket和服务器发送事件(SSE)在10,000用户的聊天室中的性能差异?

aij0ehis  于 2023-06-23  发布在  其他
关注(0)|答案(2)|浏览(278)

SSE基于HTTP协议,ws需要一次HTTP升级。
对于一个小用户群,我理解,WebSocket比SSE好得多。
我担心的是,对于10,000个用户的聊天系统来说,会有多大的区别。这里的主要问题是:
对于WebSocket,我将不得不运行一个10,000个连接的循环,以便在每次收到新消息时发出消息。
对于SSE没有循环,只有一个服务器发送的事件,会将数据流传输给10,000个用户。
对我来说,从纸面上看,SSE最适合这么大的数量,特别是当连接的客户端数量将不断增加到20,000,100,000时。没有为每个新消息运行10,000值循环。
实际上也是真的吗?我试着搜索WebSocket与SSE的一些性能基准测试,但找不到任何。
请确认SSE是否比WebSocket具有更好的性能和更低的服务器资源利用率,以向如此大的数量发送/流式传输消息。的用户?

qcuzuvrc

qcuzuvrc1#

因为WebSocket协议必须解码/编码数据,所以广播sse更快。你必须循环它们两个。但是如果你使用sse,你应该用post协议发送数据,这比WebSocket慢。

6kkfgxo0

6kkfgxo02#

下面是一篇WebSockets与EventSource(服务器发送的事件)的基准测试和比较:
https://www.timeplus.com/post/websocket-vs-sse
TLDR是,不是一个很大的区别,优先考虑您的应用程序的功能需求。

相关问题