首页 文章

最大并发Socket.IO连接数

提问于
浏览
90

这个问题之前已被问过,但最近没有问过,也没有明确答案 .

使用Socket.io,在需要添加另一台服务器之前,是否可以维护最大数量的并发连接?

有没有人知道任何大规模使用websockets(特别是socket.io)的活动 生产环境 环境?我真的想知道什么样的设置最适合最大连接?

因为Websockets是 Build 在TCP之上的,所以我的理解是,除非在连接之间共享端口,否则您将受到64K端口限制的约束 . 但我也看到了512K connections using Gretty的报道 . 所以我不知道 .

3 回答

  • 58

    本文可能会帮助您:http://drewww.github.io/socket.io-benchmarking/

    我想知道同样的问题,所以我最后编写了一个小测试(使用XHR轮询)来查看连接何时开始失败(或落后) . 我发现(在我的情况下)套接字开始在大约1400-1800个并发连接上起作用 .

    这是我做的一个简短的要点,类似于我使用的测试:https://gist.github.com/jmyrland/5535279

  • 11

    这家伙似乎已成功在单个Node.js服务器上拥有超过100万个并发连接 .

    http://blog.caustik.com/2012/08/19/node-js-w1m-concurrent-connections/

    我不清楚他究竟使用了多少个端口 .

  • 1

    我尝试在AWS上使用socket.io,我最多可以保持大约600个连接稳定 .

    我发现这是因为socket.io首先使用长轮询并稍后升级到websocket .

    在我将配置设置为仅使用websocket之后,我可以保留大约9000个连接 .

    在客户端设置此配置:

    const socket = require('socket.io-client')
    const conn = socket(host, { upgrade: false, transports: ['websocket'] })
    

相关问题