gpt4 book ai didi

php - Zend Opcache 不缓存所有文件(CentOS 6.7 + Nginx 1.8.1 + PHP 7 + Laravel 5.1)

转载 作者:可可西里 更新时间:2023-11-01 13:31:43 25 4
gpt4 key购买 nike

因此,我们有一个基于 Laravel 5.1 的项目,我们希望尽快发布,但我们注意到性能不佳,我们正在尝试优化服务器设置。

如标题中所列,我们将其部署在 CentOS 6.7 服务器上,使用 Nginx 1.8.1 和 PHP 7 以及 PHP-FPM。由于 CentOS 6.7 的存储库不提供 PHP 7,我们正在使用 IUS 的替换包。

我们注意到可能导致性能不佳的一件事是,尽管 Zend Opcache 已启用并正常工作(我们的命中率很高),但似乎并未缓存我们项目中的所有文件。我们使用 opcache-gui 来帮助可视化缓存的内容,虽然有许多项目文件(包括来自第三方库的文件),但大部分都丢失了,包括我们的主 Controller 和许多支持类。事实上,当我们禁用 Opcache 时,响应时间几乎保持不变。 opcache 黑名单目前为空,因此这不是它们未被包括在内的原因。

我们尝试使用 opcache_compile_file() 强制缓存丢失的文件,虽然文件确实得到了编译和缓存,但它们从未获得任何命中。

据我所知,Opcache 会缓存所有正在执行的文件,但这似乎不是这里发生的事情。我查看了 opcache 设置,但除了黑名单之外,找不到明显影响这种行为的设置。

还有什么我想念的吗? PHP 在决定缓存或不缓存什么时会依赖的任何其他标准?

如有任何帮助,我们将不胜感激!

最佳答案

你能检查一下 opcache.max_file_size 的值吗?也许这是您的问题,因为编译后的文件比原始文件大。

你能用 http://php.net/opcache-is-script-cached 测试你在 opcache-gui 中看不到的文件吗? ?

另外,作为测试,你能不能尝试强制编译?使用 http://php.net/opcache-compile-file对于这件事。就是看有没有true,能不能第一时间编译。

关于php - Zend Opcache 不缓存所有文件(CentOS 6.7 + Nginx 1.8.1 + PHP 7 + Laravel 5.1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37354887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com