只需三种手段,将传统的网站的性能提高 24%!

news/2024/5/10 15:16:43/文章来源:https://csdnnews.blog.csdn.net/article/details/103193691

对于技术人而言,性能优化是一个亘古不变的话题。而随着框架、语言、库等工具的不断演进,传统的优化手段是否仍然适用?在创新的环境之下,又有哪些较为捷径的优化手段?在本文中,作者将以一年前的网站为测试对象,尝试了最新的三种手段,有效地将网站性能提高了 24%,接下来,我们将一探究竟。

作者 | SwissGreg

译者 | 弯月,责编 | 屠敏

出品 | CSDN(ID:CSDNnews)

以下为译文:

上周末,我们提升了一年以前构建的一个网站的性能。

我们的这个网站是为瑞士的软件开发人员提供的求职平台,该网站的性能非常重要,原因有如下两个:

  1. 良好的用户体验:既包括网站的加载时间(以及与用户交互时间),也包括使用该网站时的快捷感。

  2. SEO:在很大程度上,我们的流量依赖于Google搜索,而且众所周知Google更加偏向性能出众的网站(Google甚至在搜索控制台中显示了速度报告)。

如果你在网上搜索“网站性能基础”,就会发现很多小技巧,例如:

  • 使用CDN(内容交付网络)提供能够缓存一段时间的静态文件。

  • 优化图像尺寸和格式。

  • 使用GZIP或Brotli压缩。

  • 减少非关键JS和CSS代码的大小。

我们实现了很多容易达成的目标。

另外,由于我们的主页基本上是一个可过滤的列表(用React编写),所以我们引入了react-window,可以一次只渲染10个列表项(而不是250个)。

上述技巧帮助我们极大地提高了性能,然而在查看了速度报告后,感觉我们还有进步的空间。

因此,我们开始研究更多不寻常的方式来提升网站的速度,最终我们取得了巨大的成功!这是本周的报告: 

这份报告显示,网站的整体加载时间减少了24%!

那么,为了取得这样的成果,我们究竟做了哪些努力呢?

1. 针对JSON数据采用rel ="preload"

index.html文件中加入的这一行代码可以指示浏览器:在JavaScript调用AJAX/fetch请求JSON数据前,就应该获取这些数据。

当实际需要使用数据时,就可以从浏览器缓存中读取,而不必再次获取数据。这个技巧帮助我们节省了大约0.5秒的加载时间。

本来我们可以早点实现这个技巧,但是Chrome浏览器中曾经有一些问题导致重复下载。不过如今看来已经改好了。

2. 在服务器端实现超级简单的缓存

在实现JSON预加载后,我们发现下载职位列表仍然是瓶颈(从服务器获取响应大约需要0.8秒)。因此,我们决定研究服务器端的缓存。首先,我们尝试了节点缓存,但是令人惊讶的是,获取时间并没有缩短。

值得一提的是/api/jobs端点是一个简单的getAll端点,因此没有改进的余地。

但是,我们决定更进一步,通过一个JS变量简单地构建自己的缓存。如下所示:

此处唯一没有列出的是POST /jobs端点,它会删除缓存(cachedJobs =undefined)。

如此简单的一段代码,就削减掉了0.4秒的加载时间!

3. 削减CSS和JS包的大小

最后我们查看了网页需要加载的CSS和JS包的大小。我们注意到"font-awesome"这个包的大小超过了70kb。

然而,我们仅使用了其中大约20%的图标。

我们是如何处理的?我们通过icomoon.io选择了需要使用的图标,并创建了自定义的精简图标包。

因此,节省了50kb!

以上三种不寻常的技巧帮助我们将网站的加载时间缩短了24%。甚至有报告显示,网站的加载时间降低了43%(降低至1-2秒)。

目前我们对这些提升感到非常满意。但是,我们相信我们可以做得更好!

如果你知道其他不寻常的技巧可以提供帮助,那么敬请在下方的评论中留言!

原文:https://dev.to/swissgreg/how-we-improved-website-performance-by-24-with-3-unusual-changes-9ei

本文为 CSDN 翻译,转载请注明来源出处。

【End】

python到底值不值得学?

https://edu.csdn.net/topic/python115?utm_source=csdn_bw

热 文 推 荐 

☞揭秘支撑双 11 买买买背后的硬核黑科技!

☞VS Code 必知必会的 20 个快捷键!

☞HUAWEI HiAI 3.0 分布式,瑜伽、开车还能这么玩......

☞罗永浩将举办「老人与海」发布会;微软疑似遭遇大范围全球宕机;Python 3.9 首个测试版发布 | 极客头条

☞Web 开发中使用了 Vim 作为主编辑器之后......

☞用 Go 重构 C 语言系统,这个抗住春晚红包的百度转发引擎承接了万亿流量

☞小米 9 年,雷军开启 AIoT 与 5G 超级互联网时代!

☞程序员正在消失?

☞5G套餐到底该不该换?看完你就明白啦!

☞他的公司1年令比特币暴跌数次,上榜福布斯捐10亿美元的跨界传奇

点击阅读原文参与开发者大调查,好礼送不停!

你点的每个“在看”,我都认真当成了喜欢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_711969.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SCPPO(十一):网站发布中的问题锦集—ReportViewer版本问题

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan 【前言】 在小编的上篇博文《SCPPO:网站发布中的问题锦集—手动发布网站》中卖了个关子—遇到的问题(4)—部署过程中引用DLL与服务器不一致问题解决。当然在网站发布出…

SCPPO(十):网站发布中的问题锦集—手动发布网站

【前言】 现在做的项目是个维护性的项目,我们是第三期的末尾,最近正忙着验收。当然在验收前会有些功能需要修改,另外也会有新的需求需要实现;再加之最近有企业核对数据等等,所以网站的发布变成主要的工作之一。当然自己…

阿里云个人网站免费绑定SSL证书(超详细图文教程)

前言 一年前搭建了个人网站,由于个人小程序绑定必须需要绑定HTTPS,于是乎绑定了SSL证书,最近阿里云一直在提醒SSL证书一年到期,提示续费;SSL证书续费几千,于是乎查找方案,阿里云提供个人免费SSL…

WordPress网站访问慢解决方案(超详细图文教程)

前言 之前自己搭建一个WordPress个人网站:https://zhanghan.xin;最近发现访问比较慢,于是乎进行了排查,下面是优化的方案。 优化前: 加载耗时:21秒 优化后: 加载耗时:250毫秒 优化后…

漫画:为什么一到年底,部分网站就会出现日期混乱?

作者 | 漫话编程责编 | Elle2019年最后一天,在家里看着跨年晚会,享受着这一年最后一天的闲暇时光,女朋友在旁边玩手机。看了一会之后她突然问我一些很奇怪的问题。于是我拿过他的手机,看到了下面这一幕:这是微信官方出…

只需 1 分钟,这个网站用 AI 分离歌曲的人声、伴奏和乐器声

整理 | Just出品 | AI科技大本营(ID:rgznai100)疫情期间,在家待着闲来无事,一些技术人员就喜欢以技术的方式找点乐子,顺带赚钱最好了。将歌曲中的人声和乐器声分离是一件让想使用音乐伴奏的人头疼的事情,传…

投毒、伪装、攻击,DNS 欺骗和钓鱼网站如何一步步诱人掉入陷阱?

【编者按】这篇文章将详细讲解DNS欺骗(DNS投毒)及钓鱼网站原理知识,并通过Ettercap工具复现某购物网站的钓鱼漏洞,本文的重点是让您对ARP欺骗、DNS欺骗和钓鱼攻击有一定认识。真心希望这篇基础文章对您有所帮助,也欢迎…

常见网站架构图

我们一般的网站架构图 涉及的知识点: 1.提供虚拟ip地址和负载均衡功能的LVS集群 1.1 LVS的两种主要模式NAT和DR模式 2.全链路监控组件我们一般选择美团的Cat或者zipkin的skywalking 3.限流策略: 3.1 漏桶策略 优点:消费速度以恒定的速度进行…

access后台链接mysql_Access为后台数据库的网站统计系统

一个能对访问者进行编号、记录访问次数、IP、时间的统计制作实例我以ACCESS库为例子,其实用SQL SERVER库也只要改一下链接库的语句就得啦,库结构如下库文件名: CONT.ASP 本来是CONT.MDB但在建好后把扩展名改为了ASP,以防库被下载。表名&…

Siri 自动拨打 911、Google 建筛查网站、IBM 测药物成分,国际抗疫在行动!

作者 | 马超责编 | 胡巍巍出品 | CSDN(ID:CSDNnews)最近,我国新冠疫情逐渐得到控制,疫情最为严重的湖北地区确认病例也连续几日降为零,世卫组织也宣称中国的防控措施至少避免了10万病例的感染,不过在中国的…

独立ip 公司文件服务器,企业在外贸建站时,为什么要选择独立IP的服务器?

企业在外贸建站时,有一部分站长会为了让网站做的更加出彩选择在服务器方面压缩成本,所以会拒绝使用独立服务器,转而选择一些较为经济的空间。这其实是一种错误的做法,服务器是网站运营的根本,即使在网站设计方面节约一…

AI 开发者不容错过的 20 个机器学习和数据科学网站

作者 | Oleksii Kharkovyna责编 | 屠敏出品 | CSDN(ID:CSDNnews)以下为译文:如今,科技界最热门的话题莫过于最先进、最前沿、最令人兴奋的数据科学和机器学习了。然而,要想紧跟该领域的进步和发展&#xff…

怎么用html做随机颜色,JavaScript 实现网站标签随机颜色的方法

摘要: 今天帮群你的一个叫坏小莫,他说是为帮群里,我就写个教程做个记录吧!“我走在乡间的小路上,看到自己的标签不太漂亮”,好吧,最近无聊修改了下自己网站侧边栏标签的样式,修改成了…

文科出身敲出 Instagram,被小札“挤”走,建新冠追踪网站

作者 | 年素清责编 | 伍杏玲出品 | 程序人生(ID:coder_life) Instagram以滤镜和图片质量为核心,是全球最火的在线图片及视频分享的社交应用软件之一,而Instagram也是硅谷的一个传奇。说起来你可能不信,这个…

html%3c arial%3e,【博客园】样式美化+网站统计访问+添加网易云背景音乐

该样式对应的皮肤:SimpleMemory,请记得更换。还有目录生成代码默认是生成h2,h3的,需结合自己的需要替换为h1,h2的。我参考别人的教程,对博客园样式做了修改。后来忽然被原创发消息:说我用了他的…

html 自定义标签 seo,wordpress深层seo优化:自定义栏目和tag标签页面title标题

seo注重整站优化,也就是希望网站每个页面都参与进来,每个页面都有不同的title标题不重复。对于wordpress默认设置来说,这个基本上是ok的,不需要怎么折腾。但碰到一个问题是:网站栏目及标签页,承载着一些重要…

洞察疫情,微软推出新冠数据分析网站 COVID Insights

来源 | 微软研究院AI头条COVID Insights 网站功能亮点持续数月的新冠疫情一路肆虐、席卷全球,世界各地的科研人员都在为此奋战,希望通过最先进的技术逐步揭开新冠病毒的神秘面纱。近日,微软亚洲研究院的研究人员基于在计算生物学、数据分析等…

暴雪修改手机500服务器错误,网站http服务器内部500错误的解决方法 [图文]

很多站长在建设网站时,经常遇到程序运行时打不开的问题,有的是因为程序出现错误,无法运行,而有的是因为服务器的原因。今天78t站长网先为大家整理一个常见的错误和解决办法,希望能有所帮助,如果您采用以下办…

做网站买主机还是服务器,做网站是买服务器还是买主机

做网站是买服务器还是买主机 内容精选换一换可以。弹性云服务器或者专属主机上创建的弹性云服务器都可以用来搭建网站。首先需要准备一台Linux系统的物理服务器作为镜像制作服务器(即宿主机),以及一台用于登录宿主机的本地Windows跳板机(物理服务器或虚拟机)。宿主机…

情侣的网站代码java_一个创意满满的情侣网站

演示地址:182.254.213.223/yuanJu/index.jsp(这里要两人注册,可以直接账号密码登录,否则游客基本什么都看不了。pc端网站,没有适配移动端。账号:小峰,密码:zhangfeng)先说说最初设计的构想&…