与socket.io相关的可伸缩性问题

时间:2012-03-29 11:55:14

标签: javascript node.js socket.io

在socket.io的主页上,它没有说明与可伸缩性问题有关的任何内容。有没有人知道它一次可以处理多少并发连接?我想在我的项目中部署socket.io以进行大规模的彗星处理。例如,它声明nodejs可以轻松处理多达100K的并发连接。 socket.io能否一次处理多少个请求?

1 个答案:

答案 0 :(得分:17)

有许多变量影响性能并定义了socket.io的限制。

可能最重要的是你的硬件,特别是RAM。普通并发和消息处理之间也有区别。消息处理似乎比并发更耗费CPU。

我推荐由Mikito Takada撰写的this article。它的摘录:

  

节点(0.4.12)在单核上使用tcp~8000连接

     

socket.io 0.6.17使用websockets~一个核心上的2300个连接

     

socket.io 0.7.11在单核上使用websockets~1800个连接

     

socket.io 0.8.6使用websockets~单个核心上的1900个连接

所以,为了回答你的问题,我会说你不能指望socket.io处理相同级别的并发性,因为node.js可以给出相同的设置。

有关socket.io性能的其他信息,请阅读Drew Harry的this