当然,如果客户端速度太慢而无法读取服务器的写入数据,那么数据可以被缓存和增长[1]。在Node.js中,inet流套接字使用多少内存?
但是默认的缓冲区大小是多少?我假设它是/ proc/sys/net/ipv4/tcp_rmem和tcp_wmem(假设Linux)中配置的任何东西...
我正在尝试做一些基本的容量规划。如果我有一个512 MB RAM的VPS,并且我认为操作系统等会使用〜100MB,我的应用程序无论它想做什么都有〜400MB。如果每个连接的客户端(普通旧TCP/IP套接字)默认情况下需要8KB(4KB读取,4KB写入),则我有400MB/8KB =〜50000个客户端的容量。
[1] http://nodejs.org/docs/v0.4.7/api/all.html#socket.bufferSize
我真的不认为你需要担心这里的细节。你是在正确的场地,无论确切的数字是25,000或40,000或60,000,一旦你达到了同时使用________的用户数量,你将能够在你的VPS中承受更多的内存:P 此外,在那些你开始遇到的操作系统连接数太多的问题开放 – 2011-05-16 19:21:19
当然是的。我只是想获得一些基线数量的最大连接数/主机。我的计划是当客户端想要连接到“集群”时,有多个这些主机并将客户端指向负载最少的主机。但我需要知道什么时候需要更多面向客户端的主机。当然需要平均负载和其他指标,但我的应用程序并不是非常受CPU限制的,因此决定何时以及如何增长的主要因素是RAM。谢谢! – horton 2011-05-16 19:25:30