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

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

php-fpm

  • Fastcgi进程管理器,实现fastcgi协议
  • 同步阻塞IO进程模型
  • 请求结束后释放所有资源和内存
  • 并发受限于进程数
  • PHP框架初始化占用大量的计算资源

php-fpm工作模式的问题

传统php-fpm工作模式的问题_第1张图片

  • nginx基于epoll事件模型,一个worker同时可处理多个请求
  • fpm-worker在同一时刻可处理一个请求
  • master进程只负责处理worker进程的监控、日志等
  • 用户端请求由elb解析,再经过nginx解析
  • fpm-worker每次处理请求前需要重新初始化mvc框架,然后再释放资源
  • 高并发请求时,fpm-worker不够用,nginx直接响应502
  • fpm-worker进程间切换消耗大(如某线上业务在4核8G内存服务器实质可利用16个进程)

你可能感兴趣的:(传统php-fpm工作模式的问题)