在 的示例中stream3.c
,有一个pipe(fd)
生成两个文件描述符的命令,fd[0]
并且fd[1]
. 该脚本通过命令
继续运行。
这意味着每个服务器推送脚本都使用 2 个文件描述符。 wake_up(argv, fd[0], WK_FD)
谁能告诉:
- 如果有 100,000 个以上活动且持久运行的脚本,甚至更多,该怎么办?
- 它会用完所有文件描述符吗?
- 有多少系统资源来保持连接活跃?
在 的示例中stream3.c
,有一个pipe(fd)
生成两个文件描述符的命令,fd[0]
并且fd[1]
. 该脚本通过命令
继续运行。
这意味着每个服务器推送脚本都使用 2 个文件描述符。 wake_up(argv, fd[0], WK_FD)
谁能告诉:
这意味着每个服务器推送脚本都使用 2 个文件描述符。
否。请参阅comet.c示例以了解不使用附加文件描述符的服务器推送脚本。
除了为删除客户端生成内容外,该stream3.c
脚本还充当客户端(调用后端服务器或系统管道)。
如果没有新的文件描述符,就没有办法做到这一点。
如果如上所述有 100,000 个活跃且持久的运行脚本怎么办?
G-WAN 将分配必要的资源。
它会用完所有文件描述符吗?
不。
有多少系统资源来保持连接活跃?
建立 10 个连接,看看分配了多少资源。将此数字除以 10 以按连接计算开销。