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

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

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

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

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

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

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

特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

php介绍

PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。

Tags 标签

php

扩展阅读

加个好友,技术交流

1628738909466805.jpg