如何启用 OpCache 来部署 PHP 应用程序?我的情况是:
- 我有一个安装有 PHP 7.4 并启用了 OpCache 的网络服务器。
- 服务器是常见的虚拟4vCPU+8GB RAM。
- 我使用工具 Deployer - 以切换符号链接完成。
- 每天部署多次。通常我会部署 5-10 次小改动。
- 部署之前我已经加载了 3-4。
- 部署后,我运行
opcache_reset
(使用 curl 进行 http 请求),负载 >10。响应时间太长。
我了解了 Opcache 如何将缓存保存到 PHP-FPM 中的共享内存中。但是,对于没有高负载和完全可用性的部署,正确的解决方案是什么?
答案1
感谢上面的回答和链接。
目前的解决方案是:
opcache_reset
部署后请勿调用。- 为选项设置更大的值
opcache.memory_consumption
。 - 我
opcache_reset
晚上会把它当作 cron 任务来做。
夜间 cron 作业的原因是 CPU 使用率高,同时溢出缓存和 OpCache 会自动调用重置缓存。