一、wordpress优化措施
分享一些可以优化网站速度的有效措施和建议:
- 前台优化:建议使用CDN加速。
- 使用第三方储存服务如OSS/COS来存储图片等静态资源,减轻服务器压力。
- 后台优化:不建议使用全静态缓存,因为这样会导致很多交互功能无法使用。
- 后台优化:推荐使用Redis或Memcached缓存功能来加速网站访问,因为这些缓存工具不会对网站产生任何负面影响。
- 后台优化:推荐使用opcache进行PHP加速优化,这可以减少PHP执行时的时间消耗。
二、Redis使用教程
一般来说,查询SQL数据库是PHP函数中最耗时的操作之一。在一个页面中,数据库查询次数通常在120到260次之间。为了提高PHP的执行效率,可以使用Redis或Memcached缓存来缓存查询过的数据,避免重复查询。这种方法能够极大地提高网站性能,使得网站的渲染速度提高了80%。
WordPress官方采用Object Cache对象缓存,我们也采取此机制,再配合Redis或Memcached缓存使用,可以大幅降低数据库查询次数,从而有效提高渲染速度。
Redis和Memcached的工作原理类似,因此我们只需要选择其中一种来安装和使用即可。下面以宝塔环境安装Redis为例,提供详细的图文教程。
1.安装 PHP Redis 扩展
首先打开宝塔面板,选择当前正在使用的 PHP 程序(建议选择 PHP 7.4),然后进入安装扩展页面,找到 Redis 扩展并进行安装。
等待安装完成之后,记得需要重启一下php服务。
2.使用宝塔面板安装 Redis
打开宝塔的软件商店,搜索 Redis 并进行安装。完成安装后,无需进行任何配置即可使用。
3.安装 WordPress 插件开启 Redis 缓存
最后一步是在 WordPress 中安装 Redis 缓存插件。有很多支持 Redis 缓存的插件可供选择,这里以 Redis Object Cache 插件为例进行安装。
在wordpress后台插件中心搜索 Redis Object Cache 并进行安装。安装完后启用插件,然后开启缓存功能。
这个功能非常简单,不要认为使用英文插件会影响它的使用。一旦启用,如果您看到下面的界面,就表明已经成功了。如果没有成功启用,请按照上面的步骤检查是否成功安装了PHP扩展和Redis程序。
特别注意:
如果您的服务器托管了多个网站,并且这些网站都要使用Redis数据库,那么务必为每个网站设置不同的数据库前缀!否则,数据可能会混淆在一起,导致错误的数据访问。
三、使用 Opcache 加速 PHP
在 PHP 的执行逻辑中,每次调用一个 PHP 函数时,PHP 都会先对该函数进行编译和解析。Opcache 是 PHP 官方开发的一款优化加速扩展,它的工作原理是对编译和解析后的 PHP 函数内容进行缓存,从而提高 PHP 的执行速度。据测试,使用 Opcache 可以有效地提高 PHP 的执行效率,通常可以提升 2 到 5 倍左右。
安装 Opcache 扩展非常简单,安装完Opcache扩展,重启PHP服务,Opcache 就可以开始加速您的 PHP 代码了。
安装宝塔后,若需调整 Opcache 扩展参数,可进入配置文件并搜索 “opcache”,自动配置的扩展参数将已经被设置好。
对应的配置解释:
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渲染时间。其实这个功能一直都存在,你只需使用Firefox或Chrome浏览器,并按下F12键进入浏览器控制台Console,就可以查看到。你可以尝试测试一下开启和未开启缓存的实际效果。
最后的温馨提醒:
- 当你更新主题或重要内容时,请确保刷新缓存!
- 使用缓存后,部分不太重要的数据不会实时更新,但主题会自动判断这些不重要的内容,因此无需过度关注。
- 适当地进行优化,如果您的网站性能已经低于500毫秒,那么就不必再进行优化了。
- 最后,关于PHP版本,我个人进行了实测,发现PHP 7.2的性能优于PHP 7.4,不知道是否适用于所有情况,建议大家进行尝试。
评论抢沙发