php-fpm中master与worker工作形式; master 负责php-cgi环境以及资源的初始化,一条申请过去,
间接通过worker的accept进行监听,接管,解决,返回。
在php-fpm的场景下,一个Web申请一个worker线程, 用完线程的资源就销毁了。
并发的瓶颈在io模型,fpm是典型的没有复用的多过程模型;也就是绝对于过程而言,他能解决的申请是串行的,他是借助多过程来实现并行处理的能力。
即,开了50个fpm的worker,就有50的并行能力。如果要进步并行能力,只能关上更多的过程,然而关上更多的过程即意味着os须要有更多的资源去调度这些过程。 那就会陷入一个怪圈, 我想进步并发申请量,就必须开更多过程,然而节约了更多的资源去调度过程,然而机器的性能是无限的,把资源节约在调度上,反而没有资源解决业务。
所以,php-fpm的工作模型才是问题。