近日,由于服务器搭建的站点数量较多,我选择对服务器进行扩容升级,并且使用了TencentDB云数据库以及多备份实现网站容灾。服务器性能的提升和带宽升级以及高级缓存的使用,使得博客以及其他站点的运行速度得到了极大的提升。本篇文章将会结合WordPress官方给出的文档以及博主的测试,为各位展现符合现代观点的加速方法。由于本文介绍内容较为丰富,请各位看官细细品味(๑•̀ㅂ•́)و✧。
TTFB优化
Waiting (TTFB)。TTFB,即Time To First Byte
,指的是:请求发出后,到收到响应的第一个字节所花费的时间。
TTFB以及下载内容速度可以通过提升服务器的带宽或者嵌套CDN来实现提速,不过值得注意的是,这些方法在交互式站点不会有太大的作用。(后文将会讲述关于交互式站点的优化方法)
带宽提升
服务器的带宽大小,对于用户加载网页速度有较大的影响,这个方面还是比较好理解的。前往您的服务商那里升级服务器带宽即可。
CDN加速
本次的CDN推荐,着重点在于缓存效果以及节点数,所以与普遍认知有一点点的小差距。
网站是否使用了CDN,对于TTFB大小的影响与服务器带宽大小影响类似。我推荐大家动静分离,将图片、js以及css等文件放到一个bucket
或者使用一个专属域名静态加速文件,而网站使用动态加速PHP
、ASP
脚本的运行。
这里推荐使用一下几款CDN,有助于各位站长的站点提升加载速率。
百度智能云-内容分发网络CDN
值得注意的是,此CDN并非百度云加速。目前Cloudflare是和京东云合作,已经和百度彻底说拜拜了。百度智能云CDN的节点数远远大于百度云加速,并且拥有强大的缓存性能和容灾特性,如果是全静态网站,使用百度智能云CDN也是一个不错的选择。
另外,百度智能云CDN也支持海外加速,不过得手动申请。博主的一个站点就是用了该CDN,加速效率和流量命中率远高于同等CDN。
吐槽一句,百度云加速的CDN节点很少,免费版的目前应该就两个:
百度云加速的重心仍然在云保护上,不过加速效果并不是太过明显,而且回源率较高,不太推荐使用。
七牛云加速
七牛云加速算是比较老牌的CDN,而我重点使用的是对象存储Kodo
服务,将大部分静态资源存储在了bucket
中,并且通过静态加速来获取资源。由于七牛云被阿里云收购了,所以现在七牛云的CDN就是阿里云的CDN。
同时,它也支持全球加速和动态加速,对于交互式站点也许是一个不错的选择,并且七牛云的节点IP较多,并且缓存效果较好,推荐有能力的站长使用该CDN。
腾讯云CDN
前些年的话我使用的就是该CDN+WAF,不过后面由于其他情况,导致我放弃使用腾讯云CDN,不过该CDN的节点IP较多,而且缓存效果也不错,配置得当对于网站加速也不错。
不过在细分各运营商的延长时,我们可以很明显的看到移动和联通的延时较大,这一点相较于百度智能云CDN就是一个较大的缺点。
性能优化
最终,我们还是回到了性能优化这点上。我们不仅要提高服务器的配置,还要正确配置应用和API接口的缓存。只有做完这些,我们站点的加载速度(交互式)才能在一定程度上得到质的飞跃!
PHP拓展
这里我们以宝塔面板为例,如果你所使用的是其他面板或者为使用面板,可以使用yum
命令安装或者手动配置拓展。
推荐安装memcached
、reids
以及opcache
拓展,值得注意的是,opcache/xcache/apc
等脚本缓存扩展,请只安装其中1个,否则可能导致您的站点程序异常。
PHP拓展安装完毕后,还需要额外安装以下内容:
- Memcached 1.6.9
- Redis 6.2.6
并按照提示和要求,成功启动这两个应用。
插件安装
以下将会涉及到WordPress的插件安装,并且Memcached
和Redis Object Cache
只能任选其一(虽然从理论上来讲可以同时使用,后续我会继续研究研究,如果您有好的方法,可以邮件、评论或者留言告诉我)。
WPJAM Basic & Memcached
这里推荐大家使用WPJAM Basic
插件,用这款插件的目的在于使用他的Memcached
插件以及后台的加速优化。效果相当于用内容换取PHP处理时间,推荐RAM容量较大的服务器使用。
由于插件不能实现自动启用Memcached
,我们需要手动将插件目录下的object-cache.php
移动到wp-content
目录下:
wpjam-basic/template/object-cache.php -> wp-content/
移动完毕后,我们刷新插件后台,即可看到Memcached
已经成功启用并且正常工作,如果站点出现未知错误,请先禁用其他插件,逐步排除插件问题。
Redis Object Cache
该插件能够在很大程度上减少SQL的查询次数,就免费版本而言,它是一个不错的选择。目前我还未找到已激活版,所以各位看官也只能先凑合用用免费版。后续我会抽空去尝试寻找他的PRO版本。
WP Fastest Cache & WP Fastest Cache Premium
插件特点如下:
- 此插件中使用了最快的方法 Mod_Rewrite
- 发布帖子或页面时删除所有缓存文件
- 管理员可以从选项页面中删除所有缓存的文件
- 管理员可以从选项页面中删除缩小的 css 和 js 文件
- 使用短代码阻止特定页面或帖子的缓存
- 缓存超时 – 所有缓存文件在确定的时间被删除
- 特定页面的缓存超时
- 为移动设备启用/禁用缓存选项
- 为登录用户启用/禁用缓存选项
- SSL 支持
- CDN 支持
- Cloudflare 支持
- 预加载缓存 – 自动创建所有站点的缓存
- 排除页面和用户代理
- WP-CLI 缓存清除
并且在WP Fastest Cache Premium
中,提供了更优的代码压缩和缓存功能,是WordPress建站的不二之选,当然,如果您要使用WP-Rocket
也是相当不错的。
实践测试
经过博主的以上操作,本站的TTFB以及页面加载速度已经得到了质的提升。从未优化前的 3500ms - 4000ms
,已经优化到了 400ms
– 500ms
,用户的体验性得到了加强,毕竟也是为了留住各位看官。
66666666
七牛云没有SSL是硬伤
七牛云可以添加SSL的,在CDN控制台那里开启即可
近水楼台先得月