一个 4C4G 的服务器能支持多少个 websocket 连接?

查看 109|回复 9
作者:brand   
能支持 100 万个设备同时与服务器建立持续的 websocket 连接吗?
zovencraig   
500-800 个已经差不多了。具体还要对操作系统、网络配置做优化
canyue7897   
百万级别都需要分布式了吧
独立服务器都搞不定了
反正我们这边做实验
不到 1 万的并发
64G 内存都扛不住
可能我们搞的软件太烂了
做实验用
wxw752   
不知道其他语言啊,我们用 netty 写的 ws 服务器,上次并发峰值 1.5 万,是用 16C 的机器撑过去的,8C 出现了连接延迟重试的情况,当场临时升配了。
crackidz   
4*1024*1024/1000000 = 4.19 字节....
其他的不说你内存也不够啊....
ben1iu   
4G 100 万个设备不可能啊 看你们 1 个连接占多大内存 不说别的内存就不够了
Vegetable   
简单来说肯定可以,但是肯定需要特定的优化,随便搜一下就能找到有人做过类似的事情,下边这个演讲讲的就是将 1m ws 的内存做到了 600M 。
https://github.com/eranyanay/1m-go-websockets
GeekGao   
不能。每个 WebSocket 连接通常会占用一定的线程栈空间,每个线程栈大小默认在 8MB 左右。即便可以调整。 假设每个 WebSocket 连接需要 1MB 的线程栈空间,那么 4GB 的内存可以支持大约 4096 个并发连接。
但是,每个 TCP 建立连接,需要消耗内存:net.ipv4.tcp_mem 、net.ipv4.tcp_rmem 和 net.ipv4.tcp_wmem 分别控制了 TCP 连接的总内存使用量、接收缓冲区和发送缓冲区的最小值、默认值和最大值。
系统默认配置,每个 TCP 连接约占用 104KB 的内存。
而且还不算上你的程序方面的其他内存开销,例如你的业务数据处理等逻辑。
GeekGao   
保守估计,至少需要 40 台 256G 内存的服务器才能很好的支撑。
sagaxu   
假设只是并发连接数高,请求频率不高,100 万个设备,不刻意优化,大概需要两台 64 核 256G 内存的机器
您需要登录后才可以回帖 登录 | 立即注册

返回顶部