Xeo*_*oss 7 php cgi memory-management fastcgi
当用Apache运行PHP时,我知道为每个请求加载了php核心和所有库.但是,使用PHP CGI,FastCGI或使用PHP-FPM,php进程在重新启动之前通常会持续500-1000个请求.
在此期间,它如何处理加载的PHP类或库?
假设我有一个加载大量库的文件,它会在每次请求时加载(然后转储)大型库,还是为我传递的每个新请求加载它?
"加载"我的意思是包含(并解析)类,但不创建任何对象.
APC如何发挥作用?
对于 FCGI(PHP-FPM 也是 FCGI),只有 php 二进制文件及其二进制库保留在内存中。PHP 用户代码没有。
在此期间,它如何处理加载的 PHP 类或库?
把他们踢开,让他们根据新的要求接受新的。您可以通过设置全局变量轻松测试它们是否在新请求开始时消失。
因此,您的(粗体)问题的答案是让我们直接回答:是的,它会根据每个请求进行加载和转储,否或!:)
APC 也做同样的事情。我需要研究一个链接,有一个用 PHP 编写的网络服务器,因此它可以将所有内容保存在内存中。为您提供真正的速度,但是您的应用程序代码必须正确处理更改后的请求逻辑。
| 归档时间: |
|
| 查看次数: |
379 次 |
| 最近记录: |