当前位置: 首页 > 后端技术 > PHP

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

时间:2023-03-29 23:36:06 PHP

php-fpm中master和worker的工作模式;master负责php-cgi环境和资源的初始化,当有请求到来时,通过worker的accept直接监听、接收、处理。返回。在php-fpm场景下,一个工作线程的Web请求会在线程资源耗尽时销毁。并发的瓶颈在于io模型,fpm是典型的没有多路复用的多进程模型;即相对于进程,它能处理的请求是串行的,它利用多个进程来实现并行处理能力。即如果开启50个fpmworker,就有50个并行能力。要想提高并行度,只能多开进程,但是多开进程意味着OS需要更多的资源来调度这些进程。那么就会陷入恶性循环。如果我想提高并发请求量,就必须多开进程,但是更多的资源浪费在调度进程上,但是机器的性能有限,资源浪费在调度上,却没有资源。办理业务。所以,php-fpm的工作模型就是问题所在。