当然,如果客户端太慢而无法读取服务器的写入 [1],数据可以被缓冲并增长。
但是默认缓冲区大小是多少?我假设它是 /proc/sys/net/ipv4/tcp_rmem 和 tcp_wmem 中配置的任何内容(假设是 Linux)...
我正在尝试做一些基本的容量规划。如果我有一个具有 512 MB RAM 的 VPS,并且我假设操作系统等人将使用 ~ 100 MB,那么我的应用程序将有 ~ 400 MB 用于它想做的任何事情。如果每个连接的客户端(常规的旧 TCP/IP 套接字)默认需要 8KB(4KB 读取,4KB 写入),我有 400MB / 8KB = ~ 50000 个客户端的容量。
[1] http://nodejs.org/docs/v0.4.7/api/all.html#socket.bufferSize