我可能只是不擅长研究,但我似乎找不到答案。我将 opcache 设置为使用 128M 内存(这就是我目前可以允许它使用的内存,直到我为我的 VPS 获得更多 RAM)。 当 OPCACHE 达到该限制时,世界上会发生什么?我在任何地方都找不到答案。我猜有什么不好的事情。有没有办法指定刷新缓存并从头开始的频率?有没有办法让它在接近或达到极限时自动刷新?到目前为止,我知道清除它的唯一方法是手动重新启动 php5-fpm。但这不是很实用,即使我设置一个 cron 作业让 php5-fpm 每天重新启动一次或清除缓存,我仍然觉得这不是一个真正的“解决方案”。至少没有一个不是半生不熟的。
如果有帮助的话,我正在使用最新版本的 PHP、使用 Nginx 并运行 WordPress 网站。每月获得约 80,000 次点击。
最佳答案
仔细看看对应的manual (例如 opcache.force-restart-timeout
)。如果需要,您可以安排重新启动,或者只是增加比较时间戳的频率。 Opcache 的默认行为是丢弃最旧的文件并释放内存。
如果您遇到性能问题,请禁用所有这些功能。将 TTL 设置为零,从不检查时间戳,仅在对实际 PHP 文件应用更新时重新加载 PHP 文件。缓存将被您所有的东西填满一次,仅此而已。当然,128 MB 应足以缓存所有可能的脚本执行路径。我认为默认的 WordPress 安装应该很容易适合这样的缓存,但如果您有一些扩展,则可能不会(我真的不知道)。
关于php - Zend Opcache 自动刷新(重置?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19739832/