PHP 缓存优化
OPcache 是 PHP 中的 Zend 扩展,可以大大提升 PHP 的性能。 OPcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能, 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销。 原理 Opcode 是一种 PHP 文件被 Zend 引擎编译后的中间语言,就像 Java 的 ByteCode,或 .NET 的 MSL,Zend 引擎在执行代码时会经过如下 4 个步骤: Scanning,re2c 进行词法分析和语法分析,将 PHP 代码转换为语言片段(Tokens) Parsing,将 Tokens 转换成简单而有意义的表达式 Compilation,将表达式编译成 Opcodes Execution,顺次执行 Opcodes,每次一条,从而实现 PHP 脚本的功能 如果你在 php.ini 中开启了 Opcache,那么每次请求来临时,Zend 引擎就不需要重复执行前面 3 步,从而大幅提升运行的性能 配置 opcache.enable 启用操作码缓存,默认为 1 开启 opcache.memory_consumption OPcache 的共享内存大小,以兆字节为单位。默认 64,可适当调大。 opcache.interned_strings_buffer 用来存储预留字符串的内存大小,以兆字节为单位。默认值为 8,建议根据服务器内存大小,设置一个大于 64 的值即可 通过字符串驻留(string interning)的技术来改善性能。例如,如果你在代码中使用了 1000 次字符串 foobar,Zend 引擎在第一次使用这个字符串时会分配一个不可变的内存区域来存储这个字符串,之后的 999 次都会直接引用这个内存区域,而不需要重复创建。...