Search code examples
phpwebsocketratchet

Why websocket can close connection?


Use Ratchet/React.

If I have less than 1000 connections it works good, but when number of connection is growing up - websockets closing automatically after connection.

What is the reason?

cat /proc/sys/fs/file-nr
5696    0   815941

open files (-n) 16384

cat /proc/sys/fs/file-max 
815941

Solution

  • On socketo.me this is adressed in the Deployment tab.

    A Unix philosophy is "everything is a file". This means each user connecting to your WebSocket application is represented as a file somewhere. A security feature of every Unix based OS is to limit the number of file descriptors one running application may have open at a time. On many systems this default is 1024. This would mean if you had 1024 users currently connected to your WebSocket server anyone else attempting to connect would fail to do so.

    They also suggest to change minor configurations to allow more connections. If the problem is not solved you could try to use libevent or disable XDebug although that might not be necessary.