PHP分叉进程接受连接

PHP分叉进程接受连接,php,sockets,fork,Php,Sockets,Fork,我想知道,在绑定服务器的IP和端口后,是否分叉了一个进程。分叉是否能够接受连接。如果我有10个fork运行所有试图接受的连接,那么是否有可能超过1个fork可以接受相同的连接,或者是否有一些锁定 几天前,我想用php编写一个http服务器。因此,它一次可以处理多个连接。接受连接的主进程读取数据并通过unix套接字将其传递给线程。到目前为止,在我的笔记本电脑上,我可以在一个小页面上每秒获得1000个连接,该页面给出了当前的日期和时间。其中一个瓶颈是主流程。最初,我希望获得连接的文件描述符,并将其传

我想知道,在绑定服务器的IP和端口后,是否分叉了一个进程。分叉是否能够接受连接。如果我有10个fork运行所有试图接受的连接,那么是否有可能超过1个fork可以接受相同的连接,或者是否有一些锁定


几天前,我想用php编写一个http服务器。因此,它一次可以处理多个连接。接受连接的主进程读取数据并通过unix套接字将其传递给线程。到目前为止,在我的笔记本电脑上,我可以在一个小页面上每秒获得1000个连接,该页面给出了当前的日期和时间。其中一个瓶颈是主流程。最初,我希望获得连接的文件描述符,并将其传递给套接字,让它们读取数据,然后进行处理。

是的,分叉子节点将能够在同一(继承的)侦听套接字上接受新连接

假设您在所有子进程中使用阻塞
socket\u accept()
,那么即使它增加到100个进程,您也不会遇到任何性能问题;操作系统将唤醒一个子进程来处理连接


应该提到的是,使用
ab
或类似的load generator工具对其进行基准测试是一种很好的做法。

我认为您必须暂时停止。你提到了很多事情,却没有解释你所说的是什么意思。每次只做一件事,解释你想做什么以及问题是什么。@SverriM.Olsen我在问题中添加了如果你想让我公开github项目,请告诉我。我在问题中添加了更多内容,如果需要,我可以公开github上的回购,我现在已经设置了主流程。我试图让孩子们处理更多的工作,而不是被老师束缚。我用于测试的数字目前是10个孩子,如果不是更多的话,我希望在某个时候达到100。@WojonsTech更新了答案。