18910140161

为什么PHP不适合做高并发场景Web业务

顺晟科技

2021-09-19 13:47:39

21

php-fpm中master与worker工作方式; master 负责php-cgi环境以及资源的初始化,一条请求过来,
直接通过worker的accept进行监听,接收,处理,返回。

在php-fpm的场景下,一个Web请求一个worker线程, 用完线程的资源就销毁了。

并发的瓶颈在io模型,fpm是典型的没有复用的多进程模型;也就是相对于进程而言,他能处理的请求是串行的,他是借助多进程来实现并行处理的能力。

即,开了50个fpm的worker,就有50的并行能力。如果要提高并行能力,只能打开更多的进程,但是打开更多的进程即意味着os需要有更多的资源去调度这些进程。 那就会陷入一个怪圈, 我想提高并发请求量,就必须开更多进程,但是浪费了更多的资源去调度进程,但是机器的性能是有限的,把资源浪费在调度上,反而没有资源处理业务。

所以,php-fpm的工作模型才是问题。

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航