为了账号安全,请及时绑定邮箱和手机立即绑定

PHP的进程的疑惑

PHP的进程的疑惑

婷婷同学_ 2019-04-13 08:36:30
1.两个人同时访问一个文件时,PHP会有两个进程吗?比如for($i=0;$i
查看完整描述

2 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

假设配置了5个PHP-FPMworker进程.
pm=static
pm.max_children=5
epoll事件驱动(events.mechanism=epoll)的master进程会把新的请求分配给空闲的worker进程.
如果没有空闲的worker进程,master进程会把请求分配一个其中一个正常处理其他请求的worker进程,进入到backlog挂起的连接队列里,排队等待处理,默认值为listen.backlog=128.
像Linux,Nginx,MySQL也都有backlog这个概念:
Linux:
sudosysctl-a|grepbacklog
net.ipv4.tcp_max_syn_backlog=256
Nginx:
listen80backlog=511;
MySQL:
showvariableslike'back_log'
Variable_nameValue
back_log80
                            
查看完整回答
反对 回复 2019-04-13
?
富国沪深

TA贡献1790条经验 获得超9个赞

如果是跑在fastcgi上的,就是多个进程;如果是跑Apache模块里的,则是多个线程,
一个请求对应一个进程/线程,一个进程/线程只能同时处理一个请求。
现在有些仿reactor模式的PHP框架可以做到单进程/线程同时处理多个请求的,比如Swoole
                            
查看完整回答
反对 回复 2019-04-13
  • 2 回答
  • 0 关注
  • 293 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信