當然,如果客戶端速度太慢而無法讀取服務器的寫入數據,那麼數據可以被緩存和增長[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