1.1 传统php-fpm工作模式的问题

最后更新于:2022-03-31 23:46:43

# 1.1 传统php-fpm工作模式的问题 ## php-fpm - Fastcgi进程管理器,实现fastcgi协议 - 同步阻塞IO进程模型 - 请求结束后释放所有资源和内存 - 并发受限于进程数 - PHP框架初始化占用大量的计算资源 ## php-fpm工作模式的问题 ![php-fpm工作模式](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/3b817cd78cddf3adb50129d98a36663f_682x311.png) - nginx基于epoll事件模型,一个worker同时可处理多个请求 - fpm-worker在同一时刻可处理一个请求 - master进程只负责处理worker进程的监控、日志等 - 用户端请求由elb解析,再经过nginx解析 - fpm-worker每次处理请求前需要重新初始化mvc框架,然后再释放资源 - 高并发请求时,fpm-worker不够用,nginx直接响应502 - fpm-worker进程间切换消耗大(如某线上业务在4核8G内存服务器实质可利用16个进程)
';