2分钟,我把网站性能优化了3倍!

2023-06-04 0 390

2分钟,我把网站性能优化了3倍!

丨经许可Bokaro 开发人员鱼肉(ID:coder_yupi)

译者丨鱼肉

他们好,我是鱼肉,前段时间有老师充分反映我做的 复试刷题中文网站 (mianshiya.com)网页读取速率有点儿慢,因而我下定决心先单纯强化呵呵。

其实我只做了 1 件鸡毛蒜皮,花了一两分钟以内,就把中文网站的读取速率从 5 秒钟强化到了 1.5 秒!从天数生产成本和效用上看,这早已是两个质的脱胎换骨了。

那我到底用了甚么黑信息控制技术呢?给他们单纯撷取呵呵。

有关复试刷题网站的如是说

中文网站读取速率强化

我加进了三个控制技术,依次是 CDN 和 HTTP/2 ,这儿重点项目讲下后者。

先说说 CDN,即文本递送互联网。原先,他们的网页文档都是放在一般而言伺服器(或软件产业)上的,源自试问的大部份

一般而言伺服器阻力极重

假如伺服器机械故障,大部份采用者都将封禁(ECC)

离伺服器越近的采用者,访问速率越来越快

而 CDN 的促进作用是协助他们把原伺服器上的文档递送

因而,采用 CDN 能分担DF93伺服器的阻抗、增加网站FTP天数、为中文网站提高了很大的纠错潜能。假如前几日成都某流程用了 CDN,可能将也不能闹出交通事故了。

放一张对比互联网拓补图,一目了然:

2分钟,我把网站性能优化了3倍!

如何给中文网站开启 CDN 呢?他们普通人是很难自己搭建 CDN 的,一般都是采用云服务商提供的 CDN 服务。像我肯定是用腾讯云了,因为我的中文网站前后端全部放在了腾讯云上,CDN 配置更轻松、回源更快速、有问题也相对好解决。

2分钟,我把网站性能优化了3倍!腾讯云 CDN 配置

通过上图左侧的列表,他们可以看到 CDN 相关的配置是非常非常多的。

首先要配置两个 CDN 域名,一般是自己的二级域名(xxx.com)再加上 cdn / static 之类的前缀,比如:cdn.yupi.com。

然后要给该域名配置 回源地址 和 回源 HOST ,假如 CDN 还没有缓存你的文档,则会从该地址拉取源文档。回源 HOST 主要是为了告诉源站你是谁、是谁要从我这拿文档,从而返回给你正确的资源。

2分钟,我把网站性能优化了3倍!

还能进行访问控制,比如只允许特定自己域名的网页来请求文档,从而防止文档被其它中文网站盗用,刷了你的 CDN 资源用量(扣你的钱)。

2分钟,我把网站性能优化了3倍!

还能配置 IP 访问频率限制,能防止一般而言 IP 地址的采用者攻击你的中文网站,也能很大程度上限值流量,给自己省点钱。虽然 DDOS 还是防不住,但总比没有要好。

2分钟,我把网站性能优化了3倍!IP 访问限频

采用 CDN 的话,还得注意下缓存天数的设置,相对不发生变化的中文网站静态文档,缓存天数能设置长一点。而动态网页(页面文本动态更新)一般不要缓存,否则采用者看到的都是同样的文本。

2分钟,我把网站性能优化了3倍!

这儿建议他们每次更新中文网站静态文档时,给文档生成两个随机的后缀,能防止更新网页文档后 CDN 没更新导致的采用者看不到最新网页的问题。现在很多的前端框架和打包工具一般都会自动帮你生成文档后缀了,也不用做甚么额外工作,比如我用的 UMI 框架 + Webpack 打包工具,生成的文档如下:

2分钟,我把网站性能优化了3倍!

除了给中文网站加速外,如今的 CDN 还推出了一些派生潜能,比如:

DCDN:全站加速,不仅能加速静态资源,还能通过路由强化来加速动态文本。适用于实时性要求比较高的动态数据,能给接口加速哦~(理解不了的话就想想家里的梯子 🪜)

SCDN:安全加速,给 CDN 加上一层防护潜能,应对 DDOS、CC 等攻击。

不过 CDN 肯定是要花费生产成本的,一般是按流量计费,因而建议他们上 CDN 前先思考是否有必要。比如你的中文网站前期采用者不多、或者采用者都在你伺服器的机房里面关着,那大可不必增加一笔消费了。

我之前没做 CDN 主要也是考虑到前期规模小、不值得,但通过统计分析后发现,目前中文网站采用者早已覆盖了全国各地,还是用 CDN 好一些,给他们更好的体验。而用了 CDN 后,我的中文网站首次读取时长从 5 秒降到了 3 秒钟,不得不说,真香!

之后,在腾讯云的 CDN 配置网页,我很惊喜地发现了 HTTP/2 的开关:

2分钟,我把网站性能优化了3倍!

HTTP/2 作为最新的 HTTP 协议,相对于现在最广泛应用的 HTTP 1.1,大幅提高了 Web 操控性,进一步增加了互联网延迟。

HTTP/2 的水可是很深的,甚么特么二进制、多路复用、数据流、伺服器主推,我是看一遍头疼一遍,后面再单独出篇文章给他们讲讲吧。现在直接用起来,快就完事!

开启 HTTP/2 后,我的中文网站读取速率直接从 3 秒提高到了 1.5 秒钟,假如不是有一些图片资源,还能更快!

2分钟,我把网站性能优化了3倍!

以上是本期撷取,假如他们喜欢实践类的知识撷取,求点个赞 + 在看 吧,感谢他们 ❤️

2分钟,我把网站性能优化了3倍!

2分钟,我把网站性能优化了3倍!

1、实战!魔改swagger,knife4j的另外一种打开方式

2、C++ 智能指针最佳实践&源码分析

3、Python实现经纬度换算+计算两地距离+地理可视化(代码全分享)

4、腾讯复试:你会求二进制中1的个数吗?

5、CSS 实现 Ant Design 官网 Logo 彩蛋效用

2分钟,我把网站性能优化了3倍!

2分钟,我把网站性能优化了3倍!

点撷取

2分钟,我把网站性能优化了3倍!

点点赞

2分钟,我把网站性能优化了3倍!

点在看

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务