JAM*_*JAM 65
本文可能会帮助您:http://drewww.github.io/socket.io-benchmarking/
我想知道同样的问题,所以我最后编写了一个小测试(使用XHR轮询)来查看连接何时开始失败(或落后).我发现(在我的情况下)套接字开始在大约1400-1800个并发连接上起作用.
这是我做的一个简短的要点,类似于我使用的测试:https://gist.github.com/jmyrland/5535279
小智 16
在继续之前仔细阅读此答案的评论
问题询问 socket.io 套接字,答案是本机套接字。这些更改很危险,因为它们适用于系统上的所有内容,而不仅仅是 socket.io 套接字。此外,今天的网络从来都不是 socket.io 的瓶颈。在没有先了解其含义的情况下,不要对您的系统进行这些更改。
对于 +300k 并发连接:
将这些变量设置为/etc/sysctl.conf:
fs.file-max = 10000000
fs.nr_open = 10000000
Run Code Online (Sandbox Code Playgroud)
此外,更改这些变量/etc/security/limits.conf:
* soft nofile 10000000
* hard nofile 10000000
root soft nofile 10000000
root hard nofile 10000000
Run Code Online (Sandbox Code Playgroud)
最后,也增加 中的 TCP 缓冲区/etc/sysctl.conf:
net.ipv4.tcp_mem = 786432 1697152 1945728
net.ipv4.tcp_rmem = 4096 4096 16777216
net.ipv4.tcp_wmem = 4096 4096 16777216
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅此。
Dan*_*ach 13
这家伙似乎已成功在单个Node.js服务器上拥有超过100万个并发连接.
http://blog.caustik.com/2012/08/19/node-js-w1m-concurrent-connections/
我不清楚他究竟使用了多少个端口.
小智 11
我尝试在AWS上使用socket.io,最多可以保持约600个连接稳定。
我发现这是因为socket.io首先使用了长轮询,然后又升级到了websocket。
在将配置设置为仅使用websocket之后,我可以保持大约9000个连接。
在客户端设置此配置:
const socket = require('socket.io-client')
const conn = socket(host, { upgrade: false, transports: ['websocket'] })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
84794 次 |
| 最近记录: |