PHP-FPM子进程同步/异步?

时间:2018-06-19 07:29:33

标签: php fpm

我编写了一些库,它在同一个PHP-FPM进程中的多个请求之间保留了一些数据(indexed by processID)。目前我max_requests设置为10000。因此,数据在这10000个请求之间共享,直到进程终止。

当此数据不可用时(最初),当前正在处理的一个请求会创建此数据,后续请求会使用它。

问题

我看到同一进程的这些数据是为同一进程多次创建的。那么,同一个进程同时处理多个请求?或者请求是否像队列一样处理?

1 个答案:

答案 0 :(得分:1)

  

我已经编码了一些库,该库保留了一些数据(由processID索引)

真的正在努力想象这是正确的解决方案是什么问题。这听起来是XY问题。

  

是同一进程同时处理的多个请求

否-PHP-FPM进程一次只能处理一个请求。通常,一个进程一次只能处理一个任务-轻量级进程(线程)例外,其中OS进程实体具有多个可调度的执行。事件驱动程序(例如javascript,nginx)可能会产生一次处理多个执行线程的错觉,但实际上并非如此-它们只能在不同的操作之间进行切换。

  

请求是否像队列一样处理?

是的,监听套接字是队列的头,并且将从队列中分配多个工作进程(一次一个)。