日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

對(duì)于技術(shù)人而言,性能優(yōu)化是一個(gè)亙古不變的話題。而隨著框架、語(yǔ)言、庫(kù)等工具的不斷演進(jìn),傳統(tǒng)的優(yōu)化手段是否仍然適用?在創(chuàng)新的環(huán)境之下,又有哪些較為捷徑的優(yōu)化手段?在本文中,作者將以一年前的網(wǎng)站為測(cè)試對(duì)象,嘗試了最新的三種手段,有效地將網(wǎng)站性能提高了 24%,接下來(lái),我們將一探究竟。

只需三種手段,將傳統(tǒng)的網(wǎng)站的性能提高 24%

作者 | SwissGreg

譯者 | 彎月,責(zé)編 | 屠敏

出品 | CSDN(ID:CSDNnews)

以下為譯文:

上周末,我們提升了一年以前構(gòu)建的一個(gè)網(wǎng)站的性能。

我們的這個(gè)網(wǎng)站是為瑞士的軟件開(kāi)發(fā)人員提供的求職平臺(tái),該網(wǎng)站的性能非常重要,原因有如下兩個(gè):

  1. 良好的用戶體驗(yàn):既包括網(wǎng)站的加載時(shí)間(以及與用戶交互時(shí)間),也包括使用該網(wǎng)站時(shí)的快捷感。

  2. seo:在很大程度上,我們的流量依賴于google搜索,而且眾所周知Google更加偏向性能出眾的網(wǎng)站(Google甚至在搜索控制臺(tái)中顯示了速度報(bào)告)。

如果你在網(wǎng)上搜索“網(wǎng)站性能基礎(chǔ)”,就會(huì)發(fā)現(xiàn)很多小技巧,例如:

  • 使用CDN(內(nèi)容交付網(wǎng)絡(luò))提供能夠緩存一段時(shí)間的靜態(tài)文件。

  • 優(yōu)化圖像尺寸和格式。

  • 使用GZIP或Brotli壓縮。

  • 減少非關(guān)鍵JS和css代碼的大小。

我們實(shí)現(xiàn)了很多容易達(dá)成的目標(biāo)。

另外,由于我們的主頁(yè)基本上是一個(gè)可過(guò)濾的列表(用React編寫),所以我們引入了react-window,可以一次只渲染10個(gè)列表項(xiàng)(而不是250個(gè))。

上述技巧幫助我們極大地提高了性能,然而在查看了速度報(bào)告后,感覺(jué)我們還有進(jìn)步的空間。

因此,我們開(kāi)始研究更多不尋常的方式來(lái)提升網(wǎng)站的速度,最終我們?nèi)〉昧司薮蟮某晒Γ∵@是本周的報(bào)告:

只需三種手段,將傳統(tǒng)的網(wǎng)站的性能提高 24%

這份報(bào)告顯示,網(wǎng)站的整體加載時(shí)間減少了24%!

那么,為了取得這樣的成果,我們究竟做了哪些努力呢?

1. 針對(duì)JSON數(shù)據(jù)采用rel ="preload"

只需三種手段,將傳統(tǒng)的網(wǎng)站的性能提高 24%

index.html文件中加入的這一行代碼可以指示瀏覽器:在JAVAScript調(diào)用AJAX/fetch請(qǐng)求JSON數(shù)據(jù)前,就應(yīng)該獲取這些數(shù)據(jù)。

當(dāng)實(shí)際需要使用數(shù)據(jù)時(shí),就可以從瀏覽器緩存中讀取,而不必再次獲取數(shù)據(jù)。這個(gè)技巧幫助我們節(jié)省了大約0.5秒的加載時(shí)間。

本來(lái)我們可以早點(diǎn)實(shí)現(xiàn)這個(gè)技巧,但是Chrome瀏覽器中曾經(jīng)有一些問(wèn)題導(dǎo)致重復(fù)下載。不過(guò)如今看來(lái)已經(jīng)改好了。

2. 在服務(wù)器端實(shí)現(xiàn)超級(jí)簡(jiǎn)單的緩存

在實(shí)現(xiàn)JSON預(yù)加載后,我們發(fā)現(xiàn)下載職位列表仍然是瓶頸(從服務(wù)器獲取響應(yīng)大約需要0.8秒)。因此,我們決定研究服務(wù)器端的緩存。首先,我們嘗試了節(jié)點(diǎn)緩存,但是令人驚訝的是,獲取時(shí)間并沒(méi)有縮短。

值得一提的是/api/jobs端點(diǎn)是一個(gè)簡(jiǎn)單的getAll端點(diǎn),因此沒(méi)有改進(jìn)的余地。

但是,我們決定更進(jìn)一步,通過(guò)一個(gè)JS變量簡(jiǎn)單地構(gòu)建自己的緩存。如下所示:

只需三種手段,將傳統(tǒng)的網(wǎng)站的性能提高 24%

此處唯一沒(méi)有列出的是POST /jobs端點(diǎn),它會(huì)刪除緩存(cachedJobs =undefined)。

如此簡(jiǎn)單的一段代碼,就削減掉了0.4秒的加載時(shí)間!

3. 削減CSS和JS包的大小

最后我們查看了網(wǎng)頁(yè)需要加載的CSS和JS包的大小。我們注意到"font-awesome"這個(gè)包的大小超過(guò)了70kb。

然而,我們僅使用了其中大約20%的圖標(biāo)。

我們是如何處理的?我們通過(guò)icomoon.io選擇了需要使用的圖標(biāo),并創(chuàng)建了自定義的精簡(jiǎn)圖標(biāo)包。

因此,節(jié)省了50kb!

以上三種不尋常的技巧幫助我們將網(wǎng)站的加載時(shí)間縮短了24%。甚至有報(bào)告顯示,網(wǎng)站的加載時(shí)間降低了43%(降低至1-2秒)。

目前我們對(duì)這些提升感到非常滿意。但是,我們相信我們可以做得更好!

如果你知道其他不尋常的技巧可以提供幫助,那么敬請(qǐng)?jiān)谙路降脑u(píng)論中留言

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

本文為 CSDN 翻譯,轉(zhuǎn)載請(qǐng)注明來(lái)源出處。

分享到:
標(biāo)簽:網(wǎng)站
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定