opcache优化的原理是将php脚本缓存。避免重复解释,对laravel这种重量框架来讲非常必要。除了业务代码之外,laravel有非常重量的代码逻辑,这些逻辑有非常硬的缓存需求。 下图是若干php框架的运行速度对比图:
我的一个优化实践过程:建立一个接口,直接返回静态内容,响应时间为280ms左右。再在此接口中访问数据库,测试响应时间为300ms左右(当然都是请求多次区平均值)。说明数据库不是影响响应时间的瓶颈。故考虑使用opcache将代码缓存,提升代码加载效率。使用opcache之后将接口响应时间由300ms提升到80ms左右,提升接近4倍。
另外laravel层面提供了一些优化方案,比如路由缓存,类加载缓存之类,这些优化肯定有用但是在我的个人项目中表现无法用肉眼可见。所以现在的理解是:大型项目可能更需要laravel层面的优化,小型项目则需求不硬。但是无论大型项目也好,小型项目也好,laravel确实需要opcache的缓存机制。
; 开关打开
opcache.enable=1
; 可用内存, 酌情而定, 单位 megabytes
opcache.memory_consumption=256
; 对多缓存文件限制, 命中率不到 100% 的话, 可以试着提高这个值
opcache.max_accelerated_files=5000
; Opcache 会在一定时间内去检查文件的修改时间, 这里设置检查的时间周期, 默认为 2, 单位为秒
opcache.revalidate_freq=240
laravel层面优化:
php缓存层面优化 opcache:
idea激活码、phpstorm、webstorm、pycharm、datagrip注册码,请点击 http://www.jetbrains-active.com/article/edit/4.html
热门评论