使用Redis和opcache为网站加速

wordpress使用PHP为后端服务,由PHP进行html内容渲染,然后传入用户浏览器。
那么这里我们从速度优化上来讲主要需要重视的两个过程:后台渲染速度前台网页加载速度

  • 后台渲染速度主要由PHP负责,由php查询数据库,生成html内容再返回给浏览器
  • 前台网页加载速度 主要取决于用户与服务器之间的网速以及请求的内容大小

先说前台加载速度,这一部分最简单易懂,简单的说就是网速快不快,内容大不大

  • 全局所有js文件,css文件动态按需加载,注意这个按需加载并不是你开启了这个功能就加载对应的文件,而是说这个页面有这个功能,才会加载这个文件。
  • 全局所有JS,CSS文件均采用UglifyJS标准进行压缩使用,同时保留了未压缩文件,方便有需要的用户进行修改!
  • 全局所有图片均支持异步懒加载,图片可以说是一个网站最占流量的内容了,开启图片懒加载之后,在用户进入网页的时候不会加载任何图片以提高页面打开速度,然后当用户浏览页面的时候,根据需要,用户看哪里的就加载哪里的图片,当然是提前加载,不会影响用户体验
  • 部分JS,CSS内容延迟加载。有一部分的功能可能不会是用户最需要的,或者不是打开页面立即就会使用的,那么这样的功能所需要的文件,我们将它放置在页面全部加载完成之后再进行加载。比如海报分享功能、一言功能、文章目录等功能:使用率较低,并且一般打开页面用户也不会立即使用此功能。
  • 大量的AJAX不刷新加载功能,AJAX就是不刷新加载内容,比如AJAX下一页,ajax tab等,有效的减少请求内容,提高页面加载速度,主题的AJAX功能全部使用在不影响SEO的内容中!
  • 框架内容支持CDN加速,这个一般适用于海外服务器,国内访问较慢的话可以在主题设置开启

优化措施

首先分享一下我的建议以及可以优化速度的有效措施

  • 前台优化:使用CDN加速
  • 前台优化:图片使用OSS/COS等第三方储存
  • 后台优化:不建议使用全静态缓存,会导致很多交互功能不能用
  • 后台优化:推荐使用RedisMemcached缓存功能,不会有任何负面影响
  • 后台优化:推荐使用opcache进行PHP加速优化

Redis缓存教程

php在执行函数最消耗时间的就是查询SQL数据库了,一般来讲一个页面的数据库查询大概在120到260次左右,使用Redis或者Memcached缓存,原理就是将php查询过的数据库缓存下来,下一次相同内容就不再查询数据库了,直接从缓存获取,极大的提高php执行效率。

WordPress官方采用 Object Cache对象缓存,同时主题的也遵循此机制,配合Redis或者Memcached缓存,能将数据库查询降低80%,有效的提高了渲染速度!
RedisMemcached原理是一样的,我们只需要二选一安装使用即可,优化加速的效果也差不多。我就以宝塔环境安装 Redis为例,进行详细的图文教程

教程一共分为三步:

  1. 安装PHP的 Redis 扩展
  2. 宝塔安装 Redis 程序
  3. wordpress安装 Redis 缓存插件并开启

安装PHP:Redis扩展

进入宝塔,选择到我们目前在使用的PHP程序(推荐使用PHP7.4),进入安装扩展找到Redis并安装

图片[1]it资源网-免费资源网-视频教程-源码下载-源码交易-程序开发-小程序开发使用Redis和opcache为网站加速it资源网-免费资源网-视频教程-源码下载-源码交易-程序开发-小程序开发IT资源网
等待安装完成之后,记得重启一下php服务
图片[2]it资源网-免费资源网-视频教程-源码下载-源码交易-程序开发-小程序开发使用Redis和opcache为网站加速it资源网-免费资源网-视频教程-源码下载-源码交易-程序开发-小程序开发IT资源网

安装Redis程序

进入宝塔的软件商店,搜索 Redis ,然后安装即可,安装完成之后无需做任何设置

图片[3]it资源网-免费资源网-视频教程-源码下载-源码交易-程序开发-小程序开发使用Redis和opcache为网站加速it资源网-免费资源网-视频教程-源码下载-源码交易-程序开发-小程序开发IT资源网

安装WP插件

最后一步就是在WordPress安装 Redis 缓存插件了,支持 Redis 缓存 的插件有很多,我这里以 Redis Object Cache 这款插件为例进行安装

  1. 直接在插件中心搜索 Redis Object Cache ,安装即可
  2. 启用插件
  3. 开启缓存
图片[4]it资源网-免费资源网-视频教程-源码下载-源码交易-程序开发-小程序开发使用Redis和opcache为网站加速it资源网-免费资源网-视频教程-源码下载-源码交易-程序开发-小程序开发IT资源网
图片[5]it资源网-免费资源网-视频教程-源码下载-源码交易-程序开发-小程序开发使用Redis和opcache为网站加速it资源网-免费资源网-视频教程-源码下载-源码交易-程序开发-小程序开发IT资源网
这个功能十分简单,不要觉得是英文插件有会影响使用,开启之后看到如下界面就说明成功了。如果没有开启成功,请按照上面的步骤检测php扩展和Redis程序是否安装成功
图片[6]it资源网-免费资源网-视频教程-源码下载-源码交易-程序开发-小程序开发使用Redis和opcache为网站加速it资源网-免费资源网-视频教程-源码下载-源码交易-程序开发-小程序开发IT资源网

Opcache加速教程

根据PHP的执行逻辑,每一个php函数在执行的时候php会先把此函数进行编译解析。Opcache是PHP官方公司开发的一款PHP优化加速扩展,它的原理把PHP函数编译解析后的内容进行缓存,从而提高PHP的执行速度!根据测试,能有效的提高2到5倍左右的执行效率。

安装Opcache就十分简单了,直接安装 Opcache 扩展,再重启PHP服务即可

图片[7]it资源网-免费资源网-视频教程-源码下载-源码交易-程序开发-小程序开发使用Redis和opcache为网站加速it资源网-免费资源网-视频教程-源码下载-源码交易-程序开发-小程序开发IT资源网
使用宝塔安装 Opcache 之后会自动配置好扩展参数,如需适当修改,进入配置文件,搜索;opcache,即可看到配置参数:
图片[8]it资源网-免费资源网-视频教程-源码下载-源码交易-程序开发-小程序开发使用Redis和opcache为网站加速it资源网-免费资源网-视频教程-源码下载-源码交易-程序开发-小程序开发IT资源网
对应的配置解释
opcache.enable=1 (default "1")
;OPcache打开/关闭开关
opcache.memory_consumption=128 (default "64")
;OPcache共享内存存储大小。用于存储预编译的opcode(以MB为单位)。
opcache.interned_strings_buffer=8 (default "4")
;OPcache字符串驻留大小,(以MB为单位)
opcache.max_accelerated_files=80000 (default "2000")
;OPcache控制内存中最多可以缓存多少个PHP文件,建议设置大一点,大于你的项目中的所有PHP文件的总和
opcache.revalidate_freq=3 (default "2")
;OPcache设置缓存的过期时间(单位是秒);几秒内内容不会刷新,如果需要实时更新可以设置为 0
opcache.fast_shutdown=1(default  “0”)
;OPcache更快速清理内存的机制,实际效果视环境而异

查看及分析

缓存安装好了之后,怎么查看效果呢?之前就有网友叫我加一个显示sql查询数量以及php渲染时间的功能,其实这个一直都是有的,使用火狐浏览器或者Chrome浏览器按F12进入浏览器控制台Console就能看到了。你可以测试一下,未开缓存以及开启缓存的实际效果。

最后温馨提醒:

  • 主题更新或者更新重要内容请记得刷新缓存!
  • 使用缓存之后,部分不太重要的数据就不会实时更新,主题会自动判断!这种不重要的内容无需关注
  • 适当优化,如果未优化就能低于500毫秒那就不建议再做优化了
© 版权声明
THE END
喜欢就支持一下吧
点赞5赞赏 分享