Swoole 等常驻式的框架与传统最明显的区别就是对于文件的载入方面的开销。在 Swoole 等常驻式的框架中,文件被 include 或者 require 后,就会一直存在于内存中,所有请求都能使用到,直到重启或者 reload。而 FPM 模式每个请求都要重新 require 这些文件,像一些大型的框架比如 Laravel 这类的,每个请求载入、编译的文件就是几十上半个,这就是很大一部分开销,这样的优势就是代码修改后马上就能看到效果。而 OPcache 的加速方式是,把 PHP 把代码编译后的缓存起来了,在传统的 FPM 模式中,每个请求都要载入/编译文件的过程上,减少了文件载编译的过程,从而加速,因为会缓存,不再每次编译,所以就会造成文件修改后不能立即生效,需要清理掉编译的缓存才行。OPcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能, 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销。OPcache - PHP: 简介 - Manual
Swoole 等常驻式的框架与传统最明显的区别就是对于文件的载入方面的开销。
在 Swoole 等常驻式的框架中,文件被 include 或者 require 后,就会一直存在于内存中,所有请求都能使用到,直到重启或者 reload。
而 FPM 模式每个请求都要重新 require 这些文件,像一些大型的框架比如 Laravel 这类的,每个请求载入、编译的文件就是几十上半个,这就是很大一部分开销,这样的优势就是代码修改后马上就能看到效果。
而 OPcache 的加速方式是,把 PHP 把代码编译后的缓存起来了,在传统的 FPM 模式中,每个请求都要载入/编译文件的过程上,减少了文件载编译的过程,从而加速,因为会缓存,不再每次编译,所以就会造成文件修改后不能立即生效,需要清理掉编译的缓存才行。