2011-02-22 28 views
3

在node.js上運行的彗星服務器 - 我們可以期望從EC2服務器獲得多少個同時連接?Comet和node.js - 我們可以在EC2服務器上同時連接多少個連接?

任何人之前做過這件事,並找到合理的限制?

我們特殊的應用程序只需要很少的時間向客戶端推送數據,它更多的是每個服務器的最大同時連接數,這是我們擔心的問題。我想看看我認爲在200k到500k之間的某個地方,並且我試圖弄清楚如果沒有怪異的服務器隊伍,彗星是可行的......

+0

我添加了一個linux標籤,因爲這實際上是一個關於操作系統限制的問題,因爲打開連接的狀態將在OS中,而不是在虛擬化平臺中。在64位操作系統中可能會有一些硬核限制,可能會更高。你可能也想看看FreeBSD,因爲它是完全不同的內核。 – 2011-02-22 23:34:39

+0

非常好的一點。 EC2運行的是什麼 - linux或bsd? – Chris 2011-02-22 23:46:30

+0

http://aws.amazon.com/ec2/#os另外:http://www.daemonology.net/blog/2010-12-13-FreeBSD-on-EC2.html – 2011-02-23 01:44:44

回答

4

如果您正在運行Linux,請結識/ proc/sys/net/ipv4的內容

特別是,net.ipv4.netfilter.ip_conntrack_max可以讓你增加打開連接的最大數量,但是當你開始插入真正的大數字時,你會碰到其他的問題。例如,你可能需要減少孤兒重讀,因爲你統計上更可能有孤兒。而且數量確實很大,內核查找算法完全有可能會顯着減慢。您需要仔細調整TCP設置。

如果我是你的鞋子,我會比較至少兩個操作系統,例如Linux和FreeBSD或OpenSolaris/Illumos。

在FreeBSD,您必須在/boot/loader.conf中

更改設置在OpenSolaris/Illumos的,你需要閱讀的NDD命令的文檔。

相關問題