精品软件与实用教程
您了解“opcache.memory_consumption”的意思,但是谁知道该怎么设置呢?设置32太多了吗?还是太少了 到底谁知道?搜索引擎上什么都没有,所以就默认设置吧。默认设置无法开启Zend OpCache的最佳缓存性能。
正确使用Zend OpCache可以提高php的访问速度,优化PHP性能,启用后如何设置Zend OpCache的最佳性能呢?接下来说一下一些需要调整的一些参数。
首先要说的是在哪里修改设置Zend OpCache的配置参数,当然是你的php.ini文件中。找到[OpCache],在[OpCache]容器下设置。
opcache.revalidate_freq:代码缓存时间(以秒为单位)到期,并检查代码是否已更改。0表示它会在每个请求中检查您的PHP代码(这会添加大量stat syscalls)。在您的开发环境中将其设置为0。
opcache.validate_timestamps:启用此选项后,PHP将根据您的opcache.revalidate_freq值检查文件时间戳。如果禁用该选项,opcache.revaliate_freq将会被忽略,而且不会检查PHP文件是否包含更新的代码。因此,如果您修改代码,修改将不会真正的生效,直到您重新启动或重新加载PHP服务。在您的开发环境中对opcache.validate_timestamps进行注释。
opcache.max_accelerated_files:控制一次最多可以在内存中保留多少个PHP文件。最重要的是,您的网站目录PHP文件要比设置的内容少。例如网站目录下的PHP文件大约有6000个文件,因此我将质数7963用于maxacceleratedfiles。
您可以运行以快速计算代码库中的文件数。进入你的网站目录下,执行下面的命令。
find . -type f -print | grep php | wc -l
opcache.memory_consumption:默认值为64MB,将其设置为256MB,因为当你有很多代码的时候。您可以使用函数opcachegetstatus()来告知opcache正在消耗多少内存以及是否需要增加内存。
opcache.interned_strings_buffer:PHP使用一种称为字符串实习的技术来提高性能。例如:如果您在代码中使用字符串"foobar"1000次,则PHP会在内部为该字符串存储1个不可变变量,而对另一个字符串使用一个指针使用了999次。而不是为每个单个php-fpm进程都拥有这些不可变字符串的池,此设置将其在所有php-fpm进程中共享。它可以节省内存并提高性能,尤其是在大型应用程序中。该值以兆字节为单位设置,因此对于16MB,将其设置为“16”。默认值为4MB。
opcache.revalidate_freq=0 opcache.validate_timestamps=0 opcache.max_accelerated_files=7963 opcache.memory_consumption=256 opcache.interned_strings_buffer=16