简
网站的优化相关以及博客的变化
好久不见,这里是咸鱼
这期来少见的发一期博客日记
当然从名字就能听出,啊,不用从名字,了解我的小伙伴都知道,咸鱼写博客日记的目的,主要都是为了讲博客又有了怎样怎样的变化,实际上这样的内容是可以写在“动态”里的
不过呢,咸鱼没心思把小更新写成动态
更多的,是倾向于把累计的大更新,写成文章来简短的记录一下
那么有小伙伴就要问了
咸鱼,咸鱼,你以前写的那些博客日记哪里去了
咳咳,那些都是黑历史了,黑历史咱就没必要深究了
人嘛,应该要向前看 awa
当然,博客日记的内容主题也很简单,主要是讲关于博客性能优化的,自从博客建立之初,咸鱼就一直没有放弃过,在提升博客浏览速度这方面所做的努力
像是加CDN啦,转静态博客啦,还有各种骚操作....
结果都不甚理想,甚至可以说不好其最主要的原因,还是在于咸鱼既不愿意在博客各种花里胡哨的特效上做出让步,又不肯花心思,在博客依赖的核心软件php和nginx以及其它依赖项上做出进步
结果也就导致了,网站的访问速度,几乎每年都在原地踏步...
而在吸取了众多以往的教训之后
咸鱼也发现了一些很有用的工具...
某不知名虚拟主播镇楼
AVIF
第一个也是Chorme自带的开发者工具
通过开发者工具,可以直观的反馈你网站的访问速度与加载时间(准确的来说叫渲染时间)
以B站举例,我们都知道像B站这样的互联网产商向来注重网页的访问速度,因为时间就是金钱,而用户的耐心始终是有限的,所以参考他们的网站为“标准答案”,我想这是毋庸置疑的“吗”?....
咸鱼做了一个很简单的测试,在完全清空浏览器缓存的情况下重新加载B站的首页,就能得到上面的测试图片了
首先我们关注这张图片中几个比较重要的参数
第一是最大延迟时间,也是“PC"-341毫秒
第二是加载时间,也是就是1.58秒
第三是以传输文件大小,也就是7.7MB
那么你可能就是会要说了,哇,原来我平时访问的B站这么快吗?居然只有300多毫秒吗?
不不不...
首先延迟时间不能直接和加载时间挂钩,我们首先要关心的还是加载时间,这个时间直接与你网页加载的快慢挂钩,而加载时间又是有是由你的硬件和软件,供应方的硬件和软件,以及各种因素共同决定的
如果延迟时间都正常的情况下,加载很慢,那么绝大多数情况下有两种原因,第一种是你的硬件配置太低了,这种解决方法比较简单,属于是你可以自己解决的,第二种就是CSS和JS加载的太多了,就算你机器配置再好,它还是需要那么多时间来加载和渲染,这就不属于你能解决的范围了
实际上除了上面说的3个比较“重要”的参数外,还有一个数字也是比较重要的,那就是“请求数”,请求数虽不直接和加载时间挂钩,但也在很大程度上决定了传输文件的大小和数量,前者又属于直接和加载时间挂钩的类型...
然后呢?
聪明的同学肯定以经发现了盲点
刚刚的测试图片中,很多的请求链接都是红色的,那是因为被咸鱼的浏览器插件给屏蔽掉了
那么真实的B站加载速度如何呢?
2.34秒
你肯定不能说这个速度很慢,因为1-3秒以内的加载速度,绝大部分人都感知不强,只有过了这个时间,人们就会稍微开始感到“慢”
然而即使是这样的加载时间的数据
也是由B站分布全国各地的CDN,和程序员们日以继夜的头发所构成的,因为考虑到B站作为互联网厂商,除了内容本身外,还有各种乱七八糟的广告,这样的加载时间也并不算意外,但首加载9M多流量的硬成本,却是实实在在扣在用户头上的...
虽然作为互联网厂商,我们这种小博客能从它们身上学到的东西不多,但有一些东西,我们还是可以参考一下的
就比如说“AVIF”
AVIF是什么?
小伙伴应该从之前的测试图片里没少看见AVIF的身影
引用wiki上的话简单的介绍一下
AVIF是我们熟悉的老朋友AV1的图像格式
是最新一代的图片压缩技术,它几乎完整的支持了无损压缩,却又能以比同类竞品低的多的大小,和更高的压缩率占据上风
上一次在图片压缩上的革新还属于谷歌的Webp,而谷歌的Webp2还全无音讯的时候,AVIF却先悄然杀出
AVIF究竟有多大优势,我们从ChatGPT和Bard的口中就能知道个大概了
哪怕是对比已经拥有了长足进步的Webp,AVIF也有10-30%的优势区间
那么说了这么多好处,AVIF有没有缺点呢?
有,当然是有的,没有完美的事物,鱼和熊掌不可皆得
AVIF目前的兼容性还十分有限,甚至可以说是糟糕...
虽然目前主流的国际巨头,比如谷歌和微软已经开始大力推举AVIF,在最新的Chrome浏览器中,AVIF已经有了非常好的支持,最近Eagle也支持了AVIF,但在老一些的浏览器中,在苹果的Safari中,在各种乱七八糟的安卓自带浏览器中,AVIF只会显示一片白,或者根本显示不出
而它的前辈Webp却已经拥有了可观的兼容性
但我相信随着AV1的大力推进,AVIF也会在不久的将来走进大家的视野
咸鱼的博客图片也已经完全转成了AVIF
(所以不要再问我为什么图片加载不出来了)
PHP与Nginx
当然除了AVIF外,一个较近的服务器地址也是很重要的(老生长谈了嘛)
好消息是,咸鱼在这一点上还是花了心思的,基本上不需要太担心延迟的问题,性能方面,建站本来就不是一个吃性能的东西,哪怕就算拿1核心256M的树莓派也是能跑动的,但咸鱼还是“奢侈”的给到了几乎过剩的性能配置
上面这些都是不怎么需要动脑,属于给钱就能解决的问题,但在软件依赖项方面肯定还是需要自己解决的
说到依赖项首当其冲的肯定是PHP和Nginx了
不过这方面对于性能的提升对于绝大多数小伙伴来说,应该是“感知不强”的
当然也有可能是PHP7这一代进步太大,导致大家对PHP8确实没什么兴趣,本着能用就不需要换的原则,外加PHP8与PHP7应用的兼容问题,自然是没有多少小伙伴愿意在这上面花心思
但咸鱼还是花了不少时间更新到了PHP8当然也有可能是太闲了...
截止到这篇文章发布的时间,目前最新的PHP正式版是8.2.11,测试版的8.3RC4也已经发布
如果问起PHP各版本的实际使用数据
那么我想这一定是很糟糕的...
通过网上简单的一些资料查证可以看出,目前最主流PHP版本依旧是PHP7,这确实不奇怪,因为PHP8出来的时间...(怎么说呢?PHP8是在2020年发布的,按表格截止的时间,也有快2年时间,不过对比PHP7.0,PHP8的占比也没有它大,也就是说连4%的占比都不到)
当然,这还不是最重要的,最重要的是这都20年后了PHP5依然有着夸张的占比,甚至比PHP8更多...
至于PHP5目前已被公开的漏洞和问题...
我想一只手肯定是数不清的(大概)
Nginx与PHP同理,大部分的更新也是在安全问题和性能优化方面下功夫,不过最近的更新都是和HTTP3有关的,但以国内对UDP的友好程度... 以及目前的推广力度来看,咸鱼只能说“路漫漫其修远兮”啊
博客
实际上,咸鱼在博客上也下了很大功夫
为了完整兼容PHP8,咸鱼不得不更新了Typecho,然后又缝缝补补修了不少BUG
博客界面上,咸鱼也尽量做了精简,移除了很多非必要的JS和CSS,另外还做了一些小修小补
至于传输大小方面,咸鱼也做了测试
在完全清空缓存的情况下,首次加载只有2.6M
(这还是包括了近800K字体文件的情况下)
极度精简,省流党狂喜
个人还是比较喜欢Joe这套主题的,几年下了基本也没换过,自己也在能力范围做了一些小修改
题外话(域名方面)
这已经不知道是咸鱼第几次换域名了
总是会遇到各种各样的问题,导致咸鱼一直在频繁的更换域名
主要还是没有自己心仪的域名吧
不是这里“不满意”就是那里“还不行”
域名这种东西,其实没规定必须使用.com或者.net .org .cn 这种知名顶级域名后缀,实际上选个自己喜欢的就行,但难也就难在这里
对于咸鱼这样的一个选择恐惧症来说
这样的问题简直就是究级折磨
如何想像一个人光挑域名都能纠结3个多小时...
之前使用的xianyu.uk,因为某种奇葩的原因被停止解析了
所以咸鱼又又又换了域名,换到了如今的“liteawa.com”
名字也很好理解,“一条鱼” 简单纯粹
.cc虽不及.com那种顶级域名,但也还是有一定知名度的,其胜在可注册量和价格
END
这期就先写到这里吧实际某人从9月就开始写了,到11月才发布,鸽子王当之无愧
什么? 你说你看到了篇文章9月份就开写了?
去去去,那一定是你眼花了,咸鱼怎么可能这么鸽(大概)
网站性能优化一直以来都是博主们关心的问题
毕竟谁不希望自己的博客能加载的更快一点呢?
追求速度乃是人之常情
我是咸鱼,我们下期再见...