Mion's Blog - CDN
type: channel
link: https://jlpt.qwq.cc/tag/CDN/
items: 我的Typecho优化折腾之路

我的Typecho优化折腾之路
type: item
date: 2021-07-17T23:08:00+08:00
description: 序 很久不见！时隔六年，我又尝试在自己简陋的博客上写点什么，希望这次不要再早早夭折。既然决定重新开始，那总得费点心准备准备。以往尝试过Emlog、WordPress、Typecho等博客程序，也粗浅浏览过Hexo静态博客文档，最后还是小而美的Typecho最得我心。小巧的体积、高效的相应、简明的操作无不让日渐懒癌的我如获至宝。在此，我将分享Typecho从开箱到上线的全过程，并附上一些优化思路。 目前本站的PageSpeed Insights评分为99分，全站加载在0.5s左右，数据可以说是非常好看了。 关于Server的调教 不论怎么说Server的选择与调教永远是站点良好表现的基础，于是我在此分享关于网络、环境、插件等条件思路。 主机选择 Typecho本身足够轻量，再考虑到站点只会有我自己访问，所以并不需要非常高的配置。主机所在地域也是非常重要的一环，需要考虑各种因素：访问用户（我自己）所处的位置、网络线路、是否需要备案等。国内主机优点主要体现在更快的连接速度，但也存在一些并不是完全无法克服的缺点更多：需要备案、忍受小水管等；国外主机带宽充足、流量大碗够用，但是如果线路选择不佳则会出现网站TTFB爆炸的情况。 综上，作为成熟的大人，我，全都要！本站采用多节点负载均衡，各节点间数据库主从同步，不同地域流量分流，在进行合理的配置之后能够极大地提升高并发场景下的性能（虽然并不会有这样的情况），同时兼顾不同地域访客的访问体验。（具体网络拓扑结构请往下走QwQ~） 环境与插件 首先要介绍TpCache与Redis这两大法宝的组合啦！ TpCache能增加网站并发能力，减少数据库读写，极大缩减TTFB，体验飞一样地感觉，亲测有效！ 使用了TpCache+Redis组合以后，小伙伴纷纷反馈打开快到飞起。(你打开谷歌首页有多快，就有多快。 ——《Typecho优化 - 响应速度&性能优化 - TpCache缓存插件安装》 第二个不得不提的就是ShortLinks插件，此插件可以将外链转换网站内链并跳转。 以下内容来自于项目README： 把外部链接转yi换为 your_blog_path/go/key/，撰写链接页面支持修改 通过菜单“创建->短链接”设置； 自定义短链功能来自golinks； 支持 referer 白名单和外链转换白名单； 支持跳转页面，可以自行制作模板放到 templates 目录下，插件设置里可选择，目前自带 5 个模板； 支持自定义字段转换（实验性功能，开启强制转换后更好用）； 支持关闭指定页面的链接转换功能。添加自定义字段 noshort 即可； 支持前台渲染插件(实验性功能，插件设置中开启强制转换) CDN与缓存 网络传输也是保证速度与稳定性重要的一环，合理安排线路是机器重要的！ 站点网络结构 在线路上，国内国外用户分流，且为保证性能与安全，站点也采取了负载均衡。以下是本站的的简单网络拓扑结构。 （其实这个小小的博客用不着如此豪华的配置，只是兴趣使然想折腾一下啦=^•ω•^=） 静态资源托管 为了缓解国内机器小水管的蛋疼问题，我们需要尽量减少大流量传输。那么将所有静态资源托管至第三方将会是不错的选择。 将本站JS,CSS分离后托管至七牛云KoDo存储，公共库如jquery等则采用公共镜像如cdn.jsdelivr.net，图片、附件等会增加删改的文件则依靠UP云提供的静态资源迁移功能。如此安排以来，源站仅需处理非常小一部分流量，让小水管也可以畅快喷射啦！ 缓存策略 这一块不太想仔细提，因为自身也不够专业。主要是在CDN端进行一些简单的静态资源缓存配置、再添加上一个合理的浏览器缓存，完成！ CDN 在这里就是要吹一吹又拍云了。 首先采用它的原因是又拍云联盟成员赠送10GB免费存储+每月15GB免费CDN流量，申请门槛极低，仅需在网站底部添加链接且轻松过审。其中赠送的10GB存储可以存放一些静态文件（但是因为其蛋疼的文件管理方式我还是选择七牛云），15GB的CDN流量不区分HTTP或HTTPS流量（在这里点名批评七牛云），可以支持这样的小站点基本维持生存。 又拍云提供的一系列功能也是值得吹爆，各种标准的支持也是一直走在前列。以下是个人认为超赞的一些功能： 功能名 功能描述 使用体验 源站资源迁移 可将源站静态资源无缝迁移到又拍云存储，当客户端下次访问相同的资源时，无需回用户自主源。 需要配合又拍云的对象存储，刚好利用赠送的空间。能够极大减小源站网络压力！ 分段缓存 开启该功能可提高文件的缓存命中率，提升用户的访问速度，并节省回源带宽。 好东西！ HTTP/3 HTTP/3 基于 QUIC 协议，提供比 TCP 和 TLS 更高的加密和性能，又拍云 CDN 平台已全面开启公测使用。 可以说是非常先进了（虽然客户端并…