Use Ratchet/React.
如果我的连接少于 1000 个,它工作得很好,但是当连接数量增加时 - websockets 在连接后自动关闭。
原因是什么?
cat /proc/sys/fs/file-nr
5696 0 815941
open files (-n) 16384
cat /proc/sys/fs/file-max
815941
socketo.me 这在"部署"选项卡中得到解决。
Unix的哲学是"一切都是文件"。这意味着连接到 WebSocket 应用程序的每个用户都表示为某处的文件。每个基于 Unix 的操作系统的安全功能是限制一个正在运行的应用程序一次可能打开的文件描述符的数量。在许多系统上,此默认值为 1024。这意味着,如果当前有 1024 个用户连接到 WebSocket 服务器,则其他任何尝试连接的用户都无法连接。
他们还建议更改次要配置以允许更多连接。如果问题没有解决,您可以尝试使用libevent或禁用XDebug,尽管这可能不是必需的。