Typecho TTFB、加载速度优化教程
很多人搭建 Typecho 之后都会觉得自己的网站有些慢,想要优化下打开速度,碰巧最近站长也在做优化,所以写一篇优化教程。
先贴一下我机器的配置:
1 |
|
低配置的机子做好了优化速度也能很快,本站国内的平均打开速度为 1.0s,如果不做任何优化,那么本站首页的速度可能有 4s 左右
优化教程
测试速度
首先先测试一下当前的网页速度,按 F12 打开调试控制台,选择 网络,勾选持久日志和禁用缓存,清除 Service Worker,清理日志,刷新,调试控制台下面就会显示页面加载的耗时
顺便推荐一个更好用的网页测速工具:PageSpeed Insights
测试完成速度可以开始按照下面的教程优化了
(TIP:本站有目录功能)
WebP 压缩
WebP 是一个高压缩比的图片格式,支持无损和有损压缩,也支持透明图层,如果你网站的图片是 png 格式提供的,压缩为 WebP 通常会有很大的提升
WebP 图片的体积一般只有同等分辨率下 png 图片体积的十分之一。
目前压缩有两种常见的方法:
CDN 自动压缩
部分 CDN 可以自动给图片进行 WebP 压缩,如果客户端支持 WebP,则使用 WebP,否则提供原图
手动压缩
如果你的 CDN 不支持自动压缩,你也可以手动压缩,但是手动压缩会有一个问题,就是不支持 IE 浏览器
如果想要手动压缩,只需要前往 https://squoosh.app
PHP 版本
旧版本(5.x)的 PHP 运行 Typecho 会很慢,强烈建议更新到 7.x 或者 8.x
注:Typecho 近期推出了 1.2 版本,距离上次更新有五年之久,1.1 版本不兼容 PHP 7.4+
数据库缓存
网站加载时间(TTFB)长的一大原因是查询数据库耗时太长,采用缓存可以有效加速(用户打开网页直接使用缓存,不再查询数据库)
MySQL 8.0 弃用了查询缓存,所以我们需要选择一个其他的高性能缓存器,本站的数据库缓存采用了 Redis
Redis 安装
- 首先安装一个 Redis 6.2.6
- 然后给你的 PHP 安装 Redis 插件
- Typecho 内安装 TpCache
CDN
CDN(内容分发网络)可以有效加速网页静态资源,并隐藏源站 IP,如果你使用 CDN,建议把所有动态页面设置为“不缓存”,所有静态资源都设置为“365 天”
宝塔缓存
如果你用宝塔可以整一个,效果是挺好的,免费版每日 50000 次,破解版无限制,50000 次对普通个人肯定够了,除非遇上 CC
OpCache
脚本缓存器,直接安装即可
TCP Fast Open
该功能要求 Linux 3.7 以上,有的发行版使用老内核无法开启,使用 uname -r
检查 Linux 版本
1 |
|
返回值大于 3.7 即可,目前已知 CentOS 7 是不支持该功能的
开启方法如下:
1 |
|
HTTP/3
开启 HTTP/3 后可以有效提高握手效率,你需要编译 nginx-quic
来使用该功能
目前最新的 HTTP/3 版本有:h3(正式版)、h3-29(IETF)、h3-Q050(Google)
开启 HTTP/3 后,你可以看到服务器发回的响应有一个 alt-svc
头
? 在这里测试你的网站是否支持 HTTP/3
https://http3check.net/
TCP BBR
开启 TCP BBR 可有效提高 TCP 连接性能,见此文章:
https://blog.mbrjun.cn/archives/431
MySQL 引擎
Typecho 旧版本使用 MySQL 更适合 MyISAM 引擎(默认就是 MyISAM),如果你设置了 Innodb,请改回 MyISAM
如果你升级到了 Release 1.2,那么请你使用 InnoDB
降低压缩率
动态文档压缩要消耗很长时间,请减小动态文档的压缩率,或者直接关闭压缩
GZip 压缩率设置为 9,TTFB 大约 500ms,设置为 4 大约 300ms,设置为 1 大约 200ms
title: Typecho TTFB、加载速度优化教程
date: 2022-04-15 15:35:00
updated: 2022-04-28 00:39:56
categories: 网络
tags:
- 网站
- typecho,优化,Mysql,Nginx,建站,博客,加速,FTTB
很多人搭建 Typecho 之后都会觉得自己的网站有些慢,想要优化下打开速度,碰巧最近站长也在做优化,所以写一篇优化教程。
先贴一下我机器的配置:
1 |
|
低配置的机子做好了优化速度也能很快,本站国内的平均打开速度为 1.0s,如果不做任何优化,那么本站首页的速度可能有 4s 左右
优化教程
测试速度
首先先测试一下当前的网页速度,按 F12 打开调试控制台,选择 网络,勾选持久日志和禁用缓存,清除 Service Worker,清理日志,刷新,调试控制台下面就会显示页面加载的耗时
顺便推荐一个更好用的网页测速工具:PageSpeed Insights
测试完成速度可以开始按照下面的教程优化了
(TIP:本站有目录功能)
WebP 压缩
WebP 是一个高压缩比的图片格式,支持无损和有损压缩,也支持透明图层,如果你网站的图片是 png 格式提供的,压缩为 WebP 通常会有很大的提升
WebP 图片的体积一般只有同等分辨率下 png 图片体积的十分之一。
目前压缩有两种常见的方法:
CDN 自动压缩
部分 CDN 可以自动给图片进行 WebP 压缩,如果客户端支持 WebP,则使用 WebP,否则提供原图
手动压缩
如果你的 CDN 不支持自动压缩,你也可以手动压缩,但是手动压缩会有一个问题,就是不支持 IE 浏览器
如果想要手动压缩,只需要前往 https://squoosh.app
PHP 版本
旧版本(5.x)的 PHP 运行 Typecho 会很慢,强烈建议更新到 7.x 或者 8.x
注:Typecho 近期推出了 1.2 版本,距离上次更新有五年之久,1.1 版本不兼容 PHP 7.4+
数据库缓存
网站加载时间(TTFB)长的一大原因是查询数据库耗时太长,采用缓存可以有效加速(用户打开网页直接使用缓存,不再查询数据库)
MySQL 8.0 弃用了查询缓存,所以我们需要选择一个其他的高性能缓存器,本站的数据库缓存采用了 Redis
Redis 安装
- 首先安装一个 Redis 6.2.6
- 然后给你的 PHP 安装 Redis 插件
- Typecho 内安装 TpCache
CDN
CDN(内容分发网络)可以有效加速网页静态资源,并隐藏源站 IP,如果你使用 CDN,建议把所有动态页面设置为“不缓存”,所有静态资源都设置为“365 天”
宝塔缓存
如果你用宝塔可以整一个,效果是挺好的,免费版每日 50000 次,破解版无限制,50000 次对普通个人肯定够了,除非遇上 CC
OpCache
脚本缓存器,直接安装即可
TCP Fast Open
该功能要求 Linux 3.7 以上,有的发行版使用老内核无法开启,使用 uname -r
检查 Linux 版本
1 |
|
返回值大于 3.7 即可,目前已知 CentOS 7 是不支持该功能的
开启方法如下:
1 |
|
HTTP/3
开启 HTTP/3 后可以有效提高握手效率,你需要编译 nginx-quic
来使用该功能
目前最新的 HTTP/3 版本有:h3(正式版)、h3-29(IETF)、h3-Q050(Google)
开启 HTTP/3 后,你可以看到服务器发回的响应有一个 alt-svc
头
? 在这里测试你的网站是否支持 HTTP/3
https://http3check.net/
TCP BBR
开启 TCP BBR 可有效提高 TCP 连接性能,见此文章:
https://blog.mbrjun.cn/archives/431
MySQL 引擎
Typecho 旧版本使用 MySQL 更适合 MyISAM 引擎(默认就是 MyISAM),如果你设置了 Innodb,请改回 MyISAM
如果你升级到了 Release 1.2,那么请你使用 InnoDB
降低压缩率
动态文档压缩要消耗很长时间,请减小动态文档的压缩率,或者直接关闭压缩
GZip 压缩率设置为 9,TTFB 大约 500ms,设置为 4 大约 300ms,设置为 1 大约 200ms
title: Typecho TTFB、加载速度优化教程
date: 2022-04-15 15:35:00
updated: 2022-04-28 00:39:56
categories: Web(PHP/ASP/HTML)
tags:
- 网站
- typecho,优化,Mysql,Nginx,建站,博客,加速,FTTB
很多人搭建 Typecho 之后都会觉得自己的网站有些慢,想要优化下打开速度,碰巧最近站长也在做优化,所以写一篇优化教程。
先贴一下我机器的配置:
1 |
|
低配置的机子做好了优化速度也能很快,本站国内的平均打开速度为 1.0s,如果不做任何优化,那么本站首页的速度可能有 4s 左右
优化教程
测试速度
首先先测试一下当前的网页速度,按 F12 打开调试控制台,选择 网络,勾选持久日志和禁用缓存,清除 Service Worker,清理日志,刷新,调试控制台下面就会显示页面加载的耗时
顺便推荐一个更好用的网页测速工具:PageSpeed Insights
测试完成速度可以开始按照下面的教程优化了
(TIP:本站有目录功能)
WebP 压缩
WebP 是一个高压缩比的图片格式,支持无损和有损压缩,也支持透明图层,如果你网站的图片是 png 格式提供的,压缩为 WebP 通常会有很大的提升
WebP 图片的体积一般只有同等分辨率下 png 图片体积的十分之一。
目前压缩有两种常见的方法:
CDN 自动压缩
部分 CDN 可以自动给图片进行 WebP 压缩,如果客户端支持 WebP,则使用 WebP,否则提供原图
手动压缩
如果你的 CDN 不支持自动压缩,你也可以手动压缩,但是手动压缩会有一个问题,就是不支持 IE 浏览器
如果想要手动压缩,只需要前往 https://squoosh.app
PHP 版本
旧版本(5.x)的 PHP 运行 Typecho 会很慢,强烈建议更新到 7.x 或者 8.x
注:Typecho 近期推出了 1.2 版本,距离上次更新有五年之久,1.1 版本不兼容 PHP 7.4+
数据库缓存
网站加载时间(TTFB)长的一大原因是查询数据库耗时太长,采用缓存可以有效加速(用户打开网页直接使用缓存,不再查询数据库)
MySQL 8.0 弃用了查询缓存,所以我们需要选择一个其他的高性能缓存器,本站的数据库缓存采用了 Redis
Redis 安装
- 首先安装一个 Redis 6.2.6
- 然后给你的 PHP 安装 Redis 插件
- Typecho 内安装 TpCache
CDN
CDN(内容分发网络)可以有效加速网页静态资源,并隐藏源站 IP,如果你使用 CDN,建议把所有动态页面设置为“不缓存”,所有静态资源都设置为“365 天”
宝塔缓存
如果你用宝塔可以整一个,效果是挺好的,免费版每日 50000 次,破解版无限制,50000 次对普通个人肯定够了,除非遇上 CC
OpCache
脚本缓存器,直接安装即可
TCP Fast Open
该功能要求 Linux 3.7 以上,有的发行版使用老内核无法开启,使用 uname -r
检查 Linux 版本
1 |
|
返回值大于 3.7 即可,目前已知 CentOS 7 是不支持该功能的
开启方法如下:
1 |
|
HTTP/3
开启 HTTP/3 后可以有效提高握手效率,你需要编译 nginx-quic
来使用该功能
目前最新的 HTTP/3 版本有:h3(正式版)、h3-29(IETF)、h3-Q050(Google)
开启 HTTP/3 后,你可以看到服务器发回的响应有一个 alt-svc
头
? 在这里测试你的网站是否支持 HTTP/3
https://http3check.net/
TCP BBR
开启 TCP BBR 可有效提高 TCP 连接性能,见此文章:
https://blog.mbrjun.cn/archives/431
MySQL 引擎
Typecho 旧版本使用 MySQL 更适合 MyISAM 引擎(默认就是 MyISAM),如果你设置了 Innodb,请改回 MyISAM
如果你升级到了 Release 1.2,那么请你使用 InnoDB
降低压缩率
动态文档压缩要消耗很长时间,请减小动态文档的压缩率,或者直接关闭压缩
GZip 压缩率设置为 9,TTFB 大约 500ms,设置为 4 大约 300ms,设置为 1 大约 200ms
title: Typecho TTFB、加载速度优化教程
date: 2022-04-15 15:35:00
updated: 2022-04-28 00:39:56
categories: UDP/QUIC
tags:
- 网站
- typecho,优化,Mysql,Nginx,建站,博客,加速,FTTB
很多人搭建 Typecho 之后都会觉得自己的网站有些慢,想要优化下打开速度,碰巧最近站长也在做优化,所以写一篇优化教程。
先贴一下我机器的配置:
1 |
|
低配置的机子做好了优化速度也能很快,本站国内的平均打开速度为 1.0s,如果不做任何优化,那么本站首页的速度可能有 4s 左右
优化教程
测试速度
首先先测试一下当前的网页速度,按 F12 打开调试控制台,选择 网络,勾选持久日志和禁用缓存,清除 Service Worker,清理日志,刷新,调试控制台下面就会显示页面加载的耗时
顺便推荐一个更好用的网页测速工具:PageSpeed Insights
测试完成速度可以开始按照下面的教程优化了
(TIP:本站有目录功能)
WebP 压缩
WebP 是一个高压缩比的图片格式,支持无损和有损压缩,也支持透明图层,如果你网站的图片是 png 格式提供的,压缩为 WebP 通常会有很大的提升
WebP 图片的体积一般只有同等分辨率下 png 图片体积的十分之一。
目前压缩有两种常见的方法:
CDN 自动压缩
部分 CDN 可以自动给图片进行 WebP 压缩,如果客户端支持 WebP,则使用 WebP,否则提供原图
手动压缩
如果你的 CDN 不支持自动压缩,你也可以手动压缩,但是手动压缩会有一个问题,就是不支持 IE 浏览器
如果想要手动压缩,只需要前往 https://squoosh.app
PHP 版本
旧版本(5.x)的 PHP 运行 Typecho 会很慢,强烈建议更新到 7.x 或者 8.x
注:Typecho 近期推出了 1.2 版本,距离上次更新有五年之久,1.1 版本不兼容 PHP 7.4+
数据库缓存
网站加载时间(TTFB)长的一大原因是查询数据库耗时太长,采用缓存可以有效加速(用户打开网页直接使用缓存,不再查询数据库)
MySQL 8.0 弃用了查询缓存,所以我们需要选择一个其他的高性能缓存器,本站的数据库缓存采用了 Redis
Redis 安装
- 首先安装一个 Redis 6.2.6
- 然后给你的 PHP 安装 Redis 插件
- Typecho 内安装 TpCache
CDN
CDN(内容分发网络)可以有效加速网页静态资源,并隐藏源站 IP,如果你使用 CDN,建议把所有动态页面设置为“不缓存”,所有静态资源都设置为“365 天”
宝塔缓存
如果你用宝塔可以整一个,效果是挺好的,免费版每日 50000 次,破解版无限制,50000 次对普通个人肯定够了,除非遇上 CC
OpCache
脚本缓存器,直接安装即可
TCP Fast Open
该功能要求 Linux 3.7 以上,有的发行版使用老内核无法开启,使用 uname -r
检查 Linux 版本
1 |
|
返回值大于 3.7 即可,目前已知 CentOS 7 是不支持该功能的
开启方法如下:
1 |
|
HTTP/3
开启 HTTP/3 后可以有效提高握手效率,你需要编译 nginx-quic
来使用该功能
目前最新的 HTTP/3 版本有:h3(正式版)、h3-29(IETF)、h3-Q050(Google)
开启 HTTP/3 后,你可以看到服务器发回的响应有一个 alt-svc
头
? 在这里测试你的网站是否支持 HTTP/3
https://http3check.net/
TCP BBR
开启 TCP BBR 可有效提高 TCP 连接性能,见此文章:
https://blog.mbrjun.cn/archives/431
MySQL 引擎
Typecho 旧版本使用 MySQL 更适合 MyISAM 引擎(默认就是 MyISAM),如果你设置了 Innodb,请改回 MyISAM
如果你升级到了 Release 1.2,那么请你使用 InnoDB
降低压缩率
动态文档压缩要消耗很长时间,请减小动态文档的压缩率,或者直接关闭压缩
GZip 压缩率设置为 9,TTFB 大约 500ms,设置为 4 大约 300ms,设置为 1 大约 200ms