1

これを説明する方法が正確にはわかりませんが、RedisStore を socket.io ストア、express.js として使用し、socket.io がリッスンする 4 コア、ポート 80 のクラスターでノード アプリを実行しています。

発生するいくつかの興味深い動作は、Chrome (および Firefox、ただし、さまざまなブラウザーを使用するのをやめました) を使用して socket.io に接続するクライアントの約 40% で、最初は接続して正常に動作することです。 25 ~ 30 秒、その後 60 秒のデッド タイムがあり、クライアントからリクエストが送信されますが、サーバーによる受信または確認応答はありません。1.5 分~1.6 分で、クライアントは新しい Websocket 接続を開始します。その新しい websocket 接続が同じ動作をする場合もあれば、接続が「キャッチ」され、次の数時間持続し、完全に問題がない場合もあります。

面白いことに、別のポート (クラスターも使用) で実行されているテスト サーバーでは、この動作は発生しません。さらに、ローカルの開発サーバーでは発生しません (クラスターを実装しているものもあれば、実装していないものもあります)。

何か案は?

4

0 に答える 0