web-dev-qa-db-ja.com

最大同時Socket.IO接続

この質問は以前に尋ねられましたが、最近ではなく、明確な答えではありません。

Socket.ioを使用して、別のサーバーを追加する前に維持できる同時接続の最大数はありますか?

Websocket(特にsocket.io)を大規模に使用しているアクティブな実稼働環境を知っている人はいますか?最大の接続に最適なセットアップの種類を知りたいのですが。

WebsocketはTCPの上に構築されるため、接続間でポートが共有されない限り、64Kのポート制限に縛られることになります。しかし、 Grettyを使用した512K接続 のレポートも見ました。分かりません。

100
Andrew

この記事はその過程で役立つかもしれません: http://drewww.github.io/socket.io-benchmarking/

私は同じ質問を疑問に思ったので、接続が失敗し始めた(または遅れた)かどうかを確認するための小さなテスト(XHRポーリングを使用)を書くことになりました。 (私の場合)ソケットが約1400-1800の同時接続で機能し始めていることがわかりました。

これは、私が使用したテストに似た、私が作成した短い要点です。 https://Gist.github.com/jmyrland/5535279

63
JAM

この男は、単一のNode.jsサーバーで100万を超える同時接続を確立することに成功したようです。

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

しかし、彼が使用していたポートの数は正確にはわかりません。

12
Daniel Nalbach

AWSでsocket.ioを使用しようとしましたが、最大で約600の接続を安定させることができます。

そして、socket.ioが最初に長いポーリングを使用し、後でwebsocketにアップグレードしたためだとわかりました。

websocketのみを使用するように構成を設定した後、約9000の接続を維持できます。

クライアント側でこの構成を設定します。

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