cdn服務(wù)器租用-CDN怎么改善加載時間?

2024-01-24    分類: 網(wǎng)站建設(shè)

基本上,互聯(lián)網(wǎng)上的每個人都體驗過內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)的好處。包括 Google、Apple 和 Microsoft 等公司在內(nèi)的大多數(shù)技術(shù)公司都使用 CDN 來減少加載網(wǎng)頁內(nèi)容的延遲。

CDN 通常會將服務(wù)器放置在不同網(wǎng)絡(luò)之間的交換點。這些互聯(lián)網(wǎng)交換點(IXP)是不同互聯(lián)網(wǎng)提供商連接的主要位置,以便彼此提供對來自其不同網(wǎng)絡(luò)的流量的訪問。除了 IXP 外,CDN 還將服務(wù)器放置在位于全球高流量區(qū)域和戰(zhàn)略位置的數(shù)據(jù)中心,以便能夠盡快移動流量。

CDN 的一大優(yōu)勢是它能夠快速、高效地交付內(nèi)容。CDN 性能優(yōu)化可分為三個類別。

縮短距離:縮短客戶端與所請求數(shù)據(jù)之間的物理距離 優(yōu)化硬件/軟件:提高服務(wù)器端基礎(chǔ)結(jié)構(gòu)的性能,例如通過使用固態(tài)硬盤驅(qū)動器和高效負(fù)載均衡 減少數(shù)據(jù)傳輸:采用各種技術(shù)來減小文件大小,以便快速進(jìn)行初始頁面加載

為了便于理解使用 CDN 的好處,我們來看看沒有 CDN 時普通客戶端/服務(wù)器數(shù)據(jù)傳輸會是什么樣子。

使用 CDN 和不使用 CDN 在加載時間上有何不同?

假設(shè)紐約的某個人需要訪問新加坡服務(wù)器上托管的網(wǎng)站。這兩個位置相隔甚遠(yuǎn),物理距離為大約 9,520 英里。

如果承載網(wǎng)站內(nèi)容的服務(wù)器(源站服務(wù)器)位于新加坡,則對各個網(wǎng)頁資產(chǎn)的每個請求都必須從紐約前往新加坡,然后再返回。如同搭乘具有許多連接點的國際航班一樣,每個請求在從 A 點傳到 B 點的遠(yuǎn)距路程中都要經(jīng)過一系列路由器。

如果要查看計算機從當(dāng)前位置到達(dá)特定 Web 服務(wù)需要多少個不同連接點(躍點)的真實示例,可以使用桌面端計算機探索一下 traceroute 實用程序。

因為從紐約到新加坡的請求需要沿途經(jīng)過每個路由器位置,所以總距離和每個路由器處理請求所花費的時間都會增加時間量(延遲)。一旦源服務(wù)器處理請求并響應(yīng)發(fā)出請求的客戶端,它就會通過類似的路由器序列將信息發(fā)送回,然后再返回紐約。這一總往返行程的測量在電信中稱為“往返時間”的 RTT。暫時忽略可用帶寬和潛在的網(wǎng)絡(luò)擁塞,讓我們來看一個延遲因素的例子。

為便于闡述,我們假設(shè):

請求從紐約到新加坡需要 250 毫秒。 建立一個?TCP/IP 連接將添加 3 次 250 毫秒延遲。 網(wǎng)頁需要 5 個不同的資產(chǎn),包括圖片、JavaScript 文件和網(wǎng)頁本身。

我們粗略看一下該網(wǎng)頁的加載時間:

750 毫秒:在紐約的客戶端和新加坡的源站服務(wù)器之間建立 TCP/IP 連接。 250 毫秒:對網(wǎng)頁的?HTTP?請求從紐約傳送到新加坡。 250 毫秒:紐約的請求者收到來自新加坡的源站服務(wù)器的響應(yīng),響應(yīng)中包含 200 狀態(tài)碼和包括所有需要的其他資產(chǎn)的網(wǎng)頁。 250 毫秒:紐約的客戶端請求這 5 項資產(chǎn)中的每一項。 1500 毫秒:這五項資產(chǎn)從新加坡的源站服務(wù)器異步交付給客戶端。

在這個簡單示例中,網(wǎng)頁加載的總傳輸時間約為?3000 毫秒。

如您所見,每次發(fā)出請求并發(fā)送響應(yīng)時,都要遍歷紐約客戶與新加坡源站之間的整個路徑。隨著網(wǎng)站規(guī)模擴大并需要更多資產(chǎn),A 點和 B 點之間的延遲會不斷增加。

我們再看一下向紐約的 Web 客戶端提供托管在新加坡的內(nèi)容的示例,但這一次新加坡站點使用一個在亞特蘭大設(shè)有服務(wù)器的 CDN,其含有靜態(tài)網(wǎng)站的緩存副本:

請求從紐約到亞特蘭大需要 50 毫秒。 建立一個 TCP/IP 連接將添加 3 次 50 毫秒延遲 網(wǎng)頁需要 5 個不同的資產(chǎn),包括圖片、JavaScript 文件和網(wǎng)頁本身。

我們粗略看一下該網(wǎng)頁使用 CDN 時的加載時間:

150 毫秒:在紐約的客戶端和亞特蘭大的邊緣服務(wù)器之間建立 TCP/IP 連接。 50 毫秒:對網(wǎng)頁的 HTTP GET 請求從紐約傳送到邊緣服務(wù)器。 50 毫秒:客戶端收到來自邊緣服務(wù)器的響應(yīng),響應(yīng)中包含網(wǎng)頁以及還需要的其他資產(chǎn)的列表。 50 毫秒:客戶端請求這 5 項資產(chǎn)中的每一項。 800 毫秒:這五項資產(chǎn)從邊緣服務(wù)器異步交付給客戶端。

網(wǎng)頁加載的總傳輸時間約為?1100 毫秒。

在本例中,客戶端與內(nèi)容之間距離縮短使靜態(tài)內(nèi)容的延遲時間縮短了 1900 毫秒;也就是說,加載時間縮短了將近 2 秒鐘。

通過縮短所有必要流量都需要遍歷的總距離,網(wǎng)站的每一用戶都能節(jié)省大量加載時間。用戶會隨著等待時間增加而開始迅速離開站點(跳出),因此這種改進(jìn)既代表了更好的用戶體驗,也代表著更長的頁面停留時間。

CDN 如何加載內(nèi)容?什么是高速緩存?

如前文所述,當(dāng)客戶端從源站服務(wù)器請求文件時,請求通常需要傳送到服務(wù)器,然后再傳回來。CDN 在稱為“高速緩存”的過程中將靜態(tài)內(nèi)容文件從源站服務(wù)器拉取到分布式 CDN 網(wǎng)絡(luò)中,從而減少延遲。某些 CDN 具有高級功能,允許有選擇地高速緩存動態(tài)內(nèi)容。數(shù)據(jù)經(jīng)過高速緩存之后,CDN 將從最近的 CDN 數(shù)據(jù)中心向客戶端提供內(nèi)容。

完成?TCP 握手后,客戶端計算機向 CDN 的網(wǎng)絡(luò)發(fā)出 HTTP 請求。如果內(nèi)容尚未緩存,則 CDN 將首先通過在源站服務(wù)器和 CDN 邊緣服務(wù)器之間進(jìn)行額外請求,從源站下載內(nèi)容。

典型的 CDN 高速緩存過程包含以下 4 個步驟:

當(dāng)用戶請求網(wǎng)頁時,用戶的請求被路由到 CDN 中最近的邊緣服務(wù)器。 邊緣服務(wù)器接著向源站服務(wù)器請求用戶請求的內(nèi)容。 源站響應(yīng)邊緣服務(wù)器的請求。 最后,邊緣服務(wù)器響應(yīng)客戶端。

CDN 與客戶端的近距離價值是在向源站服務(wù)器發(fā)出初始請求之后體現(xiàn)出來的。一旦數(shù)據(jù)從源站服務(wù)器高速緩存到 CDN 網(wǎng)絡(luò)中,來自客戶端的每個后續(xù)請求都只需到達(dá)最近的邊緣服務(wù)器即可。這意味著,如果最近的邊緣服務(wù)器比源站服務(wù)器近,就能減少延遲,并且更快提供內(nèi)容。

務(wù)必要牢記一點,這不包括下載資產(chǎn)以及處理請求和響應(yīng)所需的時間;到目前為止,僅計算在兩個位置之間傳輸信息所需的傳輸時間。我們將探索的其他重要延遲因素還包括數(shù)據(jù)縮減、硬盤速度和網(wǎng)絡(luò)擁塞。

CDN 如何通過縮減文件大小來提高速度?

為縮短頁面加載時間,CDN 減少 CDN 的高速緩存服務(wù)器和客戶端之間的總體數(shù)據(jù)傳輸量。當(dāng)傳輸?shù)臄?shù)據(jù)總量下降時,延遲和所需帶寬都會減少。帶來的結(jié)果是更快的頁面加載和更低的帶寬費用。這些縮減包括兩個關(guān)鍵組成部分:

極簡化:極簡化是指通過刪除用于幫助人類了解所發(fā)生情況的所有組件來減少代碼塊大小的過程。盡管工程師需要將想法分解為合理的變量名稱、空格和注釋,以使代碼塊易于閱讀和維護(hù),但計算機在刪除這些字符后仍然可以成功運行代碼。

下方列出了極簡化前后的代碼塊:

極簡化之前:八行代碼

極簡化之后:縮減為一行代碼

現(xiàn)在,代碼片段已從八行減少到一行,整個文件的大小也縮小。這意味著傳輸文件所需的時間將縮短,減少了延遲并有助于更快加載內(nèi)容。

文件壓縮:若要減少通過互聯(lián)網(wǎng)傳輸數(shù)據(jù)時所需的延遲和帶寬消耗,文件壓縮是一個重要組成部分。GZip 是常用的壓縮方法,視為傳輸網(wǎng)頁時所用的一種最佳實踐。許多 CDN 提供商默認(rèn)情況下都啟用 GZip。GZip 壓縮的節(jié)省程度有多大?通常,壓縮后的文件的大小比初始文件小大約 50% 到 70%。

CDN 可以利用哪些硬件來提高速度?

就CDN 硬件優(yōu)化而言,與傳統(tǒng)硬盤驅(qū)動器(HDD)相比,使用固態(tài)硬盤(SSD 具有顯著的優(yōu)勢。固態(tài)驅(qū)動器打開文件的速度比傳統(tǒng)硬盤驅(qū)動器最多快30%,而且更具彈性和可靠性。

與電唱機類似,傳統(tǒng)硬盤驅(qū)動器由旋轉(zhuǎn)的圓形金屬碟片構(gòu)成,碟片上的磁性涂層可以存儲數(shù)據(jù)。當(dāng)?shù)D(zhuǎn)時,上方臂架上的讀/寫頭可以訪問信息。這是一種機械過程,會受到碟片旋轉(zhuǎn)速度的影響。隨著固態(tài)驅(qū)動器的誕生,舊式硬盤驅(qū)動器的使用已在減少,但它們目前仍在生產(chǎn),并在許多計算機系統(tǒng)中廣泛使用。

固態(tài)驅(qū)動器 (SSD) 也是一種持久存儲形式,但其功能與 USB 拇指驅(qū)動器或數(shù)碼相機等設(shè)備中常見的存儲卡更相似;沒有移動部件。如果普通硬盤正在旋轉(zhuǎn)并且系統(tǒng)受到擠壓,硬盤可能會跳過,從而導(dǎo)致讀/寫錯誤和潛在的停機時間。SSD 的另一個重要好處是訪問碎片文件。文件碎片是文件的一部分位于磁盤上不同位置的情況,導(dǎo)致 HDD 驅(qū)動器的訪問速度變慢。由于 SSD 可以有效地訪問非連續(xù)內(nèi)存位置,因此碎片不會對性能構(gòu)成威脅。

在首批 CDN 中,數(shù)據(jù)存儲在硬盤驅(qū)動器上。現(xiàn)在的一些 CDN 服務(wù)將所有邊緣緩存放在固態(tài)驅(qū)動器上進(jìn)行。SSD 的缺點是成本高昂;SSD 的成本可達(dá)傳統(tǒng)介質(zhì)的 5 倍。因此,一些 CDN 服務(wù)通常會避免使用 SSD,而選用較舊的技術(shù)。

分享名稱:cdn服務(wù)器租用-CDN怎么改善加載時間?
本文地址:http://www.bm7419.com/news47/315197.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、自適應(yīng)網(wǎng)站、全網(wǎng)營銷推廣、建站公司、ChatGPT、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)