2013-07-03 62 views
0

stream3.c的示例中,有一個pipe(fd)命令生成兩個文件描述符fd[0]fd[1]
該腳本通過wake_up(argv, fd[0], WK_FD)命令繼續運行。
這意味着每個服務器推送腳本使用2個文件描述符。文件描述符如何限制stream3.c中的連接

誰能告訴:

  • 如果有10萬活躍和持久運行的腳本如以上,甚至更多?
  • 它會用完所有文件描述符嗎?
  • 有多少系統資源保持連接處於活動狀態?

回答

0

這意味着每個服務器推送腳本使用2個文件描述符。

否。請參閱comet.c示例,瞭解不使用其他文件描述符的服務器推送腳本的comet.c示例。

stream3.c腳本除了爲刪除客戶端生成內容外,還充當客戶端(用於調用後端服務器或系統管道)。

沒有新的文件描述符,沒有辦法做到這一點。

如果上面有100,000個活動且持久的運行腳本會怎麼樣?

G-WAN將分配必要的資源。

會用完所有文件描述符嗎?

多少制度的幾點resouces舉行保持連接活躍?

建立10個連接並查看分配了多少資源。將此數字除以10以查找連接的開銷。

+0

thx。將研究這個例子,comet.c。 –

+0

必須添加,大多數默認安裝的Linux這將有效地運行到ulimit,FD_SETSIZE等達到100K之前,但如果它,這不是一個GWAN的問題,所以你可能想要添加到答案(所以人們當他們達到ulimit時,不要錯誤地指責GWAN)。至少,如果我沒有弄錯一些不同的限制(我不會稱自己爲專家,所以沒關係);) – griffin

+1

在守護進程模式下,G-WAN已經將這些限制提高到更高的水平,請參閱您的gwan.log文件。 – Gil