2013-07-03 43 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