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

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

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

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

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

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

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

使用 CDN 和不使用 CDN 在加載時(shí)間上有何不同?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

典型的 CDN 高速緩存過(guò)程包含以下 4 個(gè)步驟:

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

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

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

CDN 如何通過(guò)縮減文件大小來(lái)提高速度?

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

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

下方列出了極簡(jiǎn)化前后的代碼塊:

極簡(jiǎn)化之前:八行代碼

極簡(jiǎn)化之后:縮減為一行代碼

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

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

CDN 可以利用哪些硬件來(lái)提高速度?

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

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

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

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

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

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

廣告

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

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