• [Swoole入门到进阶] [公开课] Swoole服务器-Server的四层生命周期


     PHP 完整生命周期

      执行PHP文件

        PHP扩展模块初始化(MINIT)

          PHP扩展请求初始化(RINIT)

          执行 PHP 逻辑

          PHP扩展请求结束(RSHUTDOWN)

          PHP脚本清理

        PHP扩展模块结束(MSHUTDOWN)

      终止PHP

     PHP 请求生命周期

      如果是 cli 执行 PHP 脚本,那么会完整执行整个过程,因为存在进程创建。

      如果是 php-fpm 请求响应阶段,那么会执行中间四步过程,等到 fpm 进程退出才执行扩展模块清理工作。

    Swoole Server 四层生命周期

      程序全局期:Server->start 之前创建的对象资源,持续驻留内存,worker共享。

            全局期代码在 Server 结束时才会释放,reload 无效。

      进程全局期:Server 启动后创建多个进程,它们内存空间独立,非共享内存。

            worker 进程启动后(onWorkerStart)引入的代码在进程存活期有效,reload 会重新加载。

      会话期:在 onConnect 或 第一次onReceive 时创建,onClose 时销毁。

          客户端连接后创建的对象会常驻内存,直到此客户端离开才销毁。

      请求期:在 onReceive/onRequest 收到请求开始,直到发送 Response 返回。

          请求期创建的对象会在请求完成后销毁,和 fpm 程序中的对象一样。

     

    Course http://www.yzmedu.com/learn/8889

    Code https://github.com/farwish/swoole-wholly

    Link:https://www.cnblogs.com/farwish/p/11482639.html

  • 相关阅读:
    hadoop 2.x 简单实现wordCount
    httpClient连接超时设置
    Java io使用简介
    log4j使用教程
    F#中的自定义隐式转换
    Computation expressions and wrapper types
    Introducing 'bind'
    Understanding continuations
    Computation expressions: Introduction
    MySQL优化总结,百万级数据库优化方案
  • 原文地址:https://www.cnblogs.com/farwish/p/11482639.html
Copyright © 2020-2023  润新知