介绍PHP7打开Opcache,优化PHP7性能的几个设置

1. Opcache简介

Opcache是一个PHP扩展,也是PHP7的一个重要特性之一。它的作用是将PHP脚本的中间代码缓存起来,以避免每次请求都需要重新编译和解析脚本,从而提升PHP程序的执行性能。

2. 打开Opcache

在PHP7中,默认情况下Opcache是关闭的。要开启Opcache,需要修改php.ini配置文件。

[opcache]

; 开启Opcache

opcache.enable=1

修改php.ini文件后,需要重启Web服务器才能生效。

3. 优化PHP7性能的设置

3.1 内存设置

在Opcache中,有一个重要的参数是opcache.memory_consumption,它控制着Opcache的内存使用量。通过适当地调整这个参数,可以优化PHP7的性能。

[opcache]

; Opcache使用的内存大小,单位是MB

opcache.memory_consumption=128

适当地增大opcache.memory_consumption的值,可以将更多的中间代码缓存到内存中,从而减少硬盘IO,提升性能。

3.2 缓存设置

Opcache还有一些其他的参数可以调整,以进一步优化PHP7的性能。

[opcache]

; 中间代码缓存的大小,单位是字节

opcache.max_accelerated_files=10000

; 缓存过期时间,单位是秒

opcache.revalidate_freq=60

; 内部加速队列大小,单位是字节

opcache.consistency_checks=0

opcache.max_accelerated_files控制着中间代码缓存的大小,适当增大这个值可以缓存更多的文件。

opcache.revalidate_freq设置了缓存文件的过期时间。每隔指定的时间,Opcache会重新检查文件是否有更新,如果有更新,会重新编译和解析文件。

opcache.consistency_checks为0时禁用了Opcache的一致性检查,这可以提高执行性能。

3.3 文件监控设置

当Opcache开启的时候,PHP脚本的修改不会立即生效,因为中间代码已经被缓存起来了。为了使修改的脚本生效,可以通过以下设置来监控文件的变化,并自动刷新Opcache。

[opcache]

; 开启文件监控

opcache.validate_timestamps=1

opcache.validate_timestamps为1时,Opcache会检查文件的修改时间戳,如果有变化,则会刷新Opcache。

4. 总结

通过打开Opcache和适当调整相关的参数,可以大幅度提升PHP7的执行性能。合理的内存设置、缓存设置和文件监控设置可以使PHP脚本的编译和解析过程更高效,减少IO开销。

在真实的生产环境中,可以根据服务器的配置和应用的特点,进一步优化Opcache的设置,以获取更好的性能表现。

后端开发标签