开发者社区 > 云原生 > Serverless > 正文

函数计算,dz 模板是nginx反代php,但是php-fpm启动慢。总是502。有优化建议吗?我可

函数计算,dz 模板是nginx反代php,但是php-fpm启动慢。总是502。有优化建议吗?我可以预留,但是弹性时会502。总不能都预留吧

展开
收起
函数计算小白 2023-08-03 09:41:27 70 0
1 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    PHP-FPM作为nginx的后端需要一定时间启动完成,而函数计算函数启动很快,所以始终返回502

    函数计算函数必须是无状态的,不能保持预留实例来解决问题

    这实际上反映了将web服务器搭建在函数计算上的一些问题:

    一般优化的方法是:

    减少PHP-FPM启动时间
    使用更轻量级的PHP运行时,如PHP Slim

    优化PHP配置,减少初始化过程

    将PHP编译成可执行程序,不需要FPM

    使用预加载技术
    在函数上线之前,提前启动PHP环境。等执行第一个请求时,环境已经就绪。

    使用容器运行时
    将整个web服务部署在容器内。函数第一次执行时,容器已经运行完毕。

    限流技术
    只允许一个函数实例同时运行。其它请求进入队列等待。

    总的来说,优化方案为:

    减少PHP环境启动时间
    使用预加载的方式
    将整个web应用打包为容器
    限流保证只有一个实例运行

    2023-08-03 18:05:35
    赞同 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • 相关电子书

    更多
    All in Serverless 阿里云核心产品全面升级 立即下载
    AIGC 浪潮之上,森马的 Serverless 实践之旅 立即下载
    极氪大数据 Serverless 应用实践 立即下载