近日,由于服务器搭建的站点数量较多,我选择对服务器进行扩容升级,并且使用了TencentDB云数据库以及多备份实现网站容灾。服务器性能的提升和带宽升级以及高级缓存的使用,使得博客以及其他站点的运行速度得到了极大的提升。本篇文章将会结合WordPress官方给出的文档以及博主的测试,为各位展现符合现代观点的加速方法。由于本文介绍内容较为丰富,请各位看官细细品味(๑•̀ㅂ•́)و✧。

如何对WordPress网站进行性能优化插图

TTFB优化

如何对WordPress网站进行性能优化插图1

Waiting (TTFB)。TTFB,即Time To First Byte,指的是:请求发出后,到收到响应的第一个字节所花费的时间。

TTFB以及下载内容速度可以通过提升服务器的带宽或者嵌套CDN来实现提速,不过值得注意的是,这些方法在交互式站点不会有太大的作用。(后文将会讲述关于交互式站点的优化方法)

带宽提升

服务器的带宽大小,对于用户加载网页速度有较大的影响,这个方面还是比较好理解的。前往您的服务商那里升级服务器带宽即可。

如何对WordPress网站进行性能优化插图2

CDN加速

本次的CDN推荐,着重点在于缓存效果以及节点数,所以与普遍认知有一点点的小差距。

网站是否使用了CDN,对于TTFB大小的影响与服务器带宽大小影响类似。我推荐大家动静分离,将图片、js以及css等文件放到一个bucket或者使用一个专属域名静态加速文件,而网站使用动态加速PHPASP脚本的运行。

这里推荐使用一下几款CDN,有助于各位站长的站点提升加载速率。

百度智能云-内容分发网络CDN

值得注意的是,此CDN并非百度云加速。目前Cloudflare是和京东云合作,已经和百度彻底说拜拜了。百度智能云CDN的节点数远远大于百度云加速,并且拥有强大的缓存性能和容灾特性,如果是全静态网站,使用百度智能云CDN也是一个不错的选择。

如何对WordPress网站进行性能优化插图3

另外,百度智能云CDN也支持海外加速,不过得手动申请。博主的一个站点就是用了该CDN,加速效率和流量命中率远高于同等CDN。

吐槽一句,百度云加速的CDN节点很少,免费版的目前应该就两个:

如何对WordPress网站进行性能优化插图4

百度云加速的重心仍然在云保护上,不过加速效果并不是太过明显,而且回源率较高,不太推荐使用。

七牛云加速

七牛云加速算是比较老牌的CDN,而我重点使用的是对象存储Kodo服务,将大部分静态资源存储在了bucket中,并且通过静态加速来获取资源。由于七牛云被阿里云收购了,所以现在七牛云的CDN就是阿里云的CDN。

如何对WordPress网站进行性能优化插图5

同时,它也支持全球加速和动态加速,对于交互式站点也许是一个不错的选择,并且七牛云的节点IP较多,并且缓存效果较好,推荐有能力的站长使用该CDN。

腾讯云CDN

前些年的话我使用的就是该CDN+WAF,不过后面由于其他情况,导致我放弃使用腾讯云CDN,不过该CDN的节点IP较多,而且缓存效果也不错,配置得当对于网站加速也不错。

如何对WordPress网站进行性能优化插图6

不过在细分各运营商的延长时,我们可以很明显的看到移动和联通的延时较大,这一点相较于百度智能云CDN就是一个较大的缺点。

如何对WordPress网站进行性能优化插图7

性能优化

最终,我们还是回到了性能优化这点上。我们不仅要提高服务器的配置,还要正确配置应用和API接口的缓存。只有做完这些,我们站点的加载速度(交互式)才能在一定程度上得到质的飞跃!

PHP拓展

这里我们以宝塔面板为例,如果你所使用的是其他面板或者为使用面板,可以使用yum命令安装或者手动配置拓展。

如何对WordPress网站进行性能优化插图8

推荐安装memcachedreids以及opcache拓展,值得注意的是,opcache/xcache/apc等脚本缓存扩展,请只安装其中1个,否则可能导致您的站点程序异常。

PHP拓展安装完毕后,还需要额外安装以下内容:

  • Memcached 1.6.9
  • Redis 6.2.6
如何对WordPress网站进行性能优化插图9

并按照提示和要求,成功启动这两个应用。

插件安装

以下将会涉及到WordPress的插件安装,并且MemcachedRedis Object Cache只能任选其一(虽然从理论上来讲可以同时使用,后续我会继续研究研究,如果您有好的方法,可以邮件、评论或者留言告诉我)。

WPJAM Basic & Memcached

这里推荐大家使用WPJAM Basic插件,用这款插件的目的在于使用他的Memcached插件以及后台的加速优化。效果相当于用内容换取PHP处理时间,推荐RAM容量较大的服务器使用。

如何对WordPress网站进行性能优化插图10

由于插件不能实现自动启用Memcached,我们需要手动将插件目录下的object-cache.php移动到wp-content目录下:

wpjam-basic/template/object-cache.php -> wp-content/

移动完毕后,我们刷新插件后台,即可看到Memcached已经成功启用并且正常工作,如果站点出现未知错误,请先禁用其他插件,逐步排除插件问题。

如何对WordPress网站进行性能优化插图11

Redis Object Cache

如何对WordPress网站进行性能优化插图12

该插件能够在很大程度上减少SQL的查询次数,就免费版本而言,它是一个不错的选择。目前我还未找到已激活版,所以各位看官也只能先凑合用用免费版。后续我会抽空去尝试寻找他的PRO版本。

WP Fastest Cache & WP Fastest Cache Premium

如何对WordPress网站进行性能优化插图13

插件特点如下:

  • 此插件中使用了最快的方法 Mod_Rewrite
  • 发布帖子或页面时删除所有缓存文件
  • 管理员可以从选项页面中删除所有缓存的文件
  • 管理员可以从选项页面中删除缩小的 css 和 js 文件
  • 使用短代码阻止特定页面或帖子的缓存
  • 缓存超时 – 所有缓存文件在确定的时间被删除
  • 特定页面的缓存超时
  • 为移动设备启用/禁用缓存选项
  • 为登录用户启用/禁用缓存选项
  • SSL 支持
  • CDN 支持
  • Cloudflare 支持
  • 预加载缓存 – 自动创建所有站点的缓存
  • 排除页面和用户代理
  • WP-CLI 缓存清除

并且在WP Fastest Cache Premium中,提供了更优的代码压缩和缓存功能,是WordPress建站的不二之选,当然,如果您要使用WP-Rocket也是相当不错的。

Fastest Cache Premiun

实践测试

经过博主的以上操作,本站的TTFB以及页面加载速度已经得到了质的提升。从未优化前的 3500ms - 4000ms ,已经优化到了 400ms500ms,用户的体验性得到了加强,毕竟也是为了留住各位看官。

如何对WordPress网站进行性能优化插图14