2024-01-24 分類: 網(wǎng)站建設
基本上,互聯(lián)網(wǎng)上的每個人都體驗過內容分發(fā)網(wǎng)絡(CDN)的好處。包括 Google、Apple 和 Microsoft 等公司在內的大多數(shù)技術公司都使用 CDN 來減少加載網(wǎng)頁內容的延遲。
CDN 通常會將服務器放置在不同網(wǎng)絡之間的交換點。這些互聯(lián)網(wǎng)交換點(IXP)是不同互聯(lián)網(wǎng)提供商連接的主要位置,以便彼此提供對來自其不同網(wǎng)絡的流量的訪問。除了 IXP 外,CDN 還將服務器放置在位于全球高流量區(qū)域和戰(zhàn)略位置的數(shù)據(jù)中心,以便能夠盡快移動流量。
CDN 的一大優(yōu)勢是它能夠快速、高效地交付內容。CDN 性能優(yōu)化可分為三個類別。
縮短距離:縮短客戶端與所請求數(shù)據(jù)之間的物理距離 優(yōu)化硬件/軟件:提高服務器端基礎結構的性能,例如通過使用固態(tài)硬盤驅動器和高效負載均衡 減少數(shù)據(jù)傳輸:采用各種技術來減小文件大小,以便快速進行初始頁面加載為了便于理解使用 CDN 的好處,我們來看看沒有 CDN 時普通客戶端/服務器數(shù)據(jù)傳輸會是什么樣子。
使用 CDN 和不使用 CDN 在加載時間上有何不同?假設紐約的某個人需要訪問新加坡服務器上托管的網(wǎng)站。這兩個位置相隔甚遠,物理距離為大約 9,520 英里。
如果承載網(wǎng)站內容的服務器(源站服務器)位于新加坡,則對各個網(wǎng)頁資產的每個請求都必須從紐約前往新加坡,然后再返回。如同搭乘具有許多連接點的國際航班一樣,每個請求在從 A 點傳到 B 點的遠距路程中都要經(jīng)過一系列路由器。
如果要查看計算機從當前位置到達特定 Web 服務需要多少個不同連接點(躍點)的真實示例,可以使用桌面端計算機探索一下 traceroute 實用程序。
因為從紐約到新加坡的請求需要沿途經(jīng)過每個路由器位置,所以總距離和每個路由器處理請求所花費的時間都會增加時間量(延遲)。一旦源服務器處理請求并響應發(fā)出請求的客戶端,它就會通過類似的路由器序列將信息發(fā)送回,然后再返回紐約。這一總往返行程的測量在電信中稱為“往返時間”的 RTT。暫時忽略可用帶寬和潛在的網(wǎng)絡擁塞,讓我們來看一個延遲因素的例子。
為便于闡述,我們假設:
請求從紐約到新加坡需要 250 毫秒。 建立一個?TCP/IP 連接將添加 3 次 250 毫秒延遲。 網(wǎng)頁需要 5 個不同的資產,包括圖片、JavaScript 文件和網(wǎng)頁本身。我們粗略看一下該網(wǎng)頁的加載時間:
750 毫秒:在紐約的客戶端和新加坡的源站服務器之間建立 TCP/IP 連接。 250 毫秒:對網(wǎng)頁的?HTTP?請求從紐約傳送到新加坡。 250 毫秒:紐約的請求者收到來自新加坡的源站服務器的響應,響應中包含 200 狀態(tài)碼和包括所有需要的其他資產的網(wǎng)頁。 250 毫秒:紐約的客戶端請求這 5 項資產中的每一項。 1500 毫秒:這五項資產從新加坡的源站服務器異步交付給客戶端。在這個簡單示例中,網(wǎng)頁加載的總傳輸時間約為?3000 毫秒。
如您所見,每次發(fā)出請求并發(fā)送響應時,都要遍歷紐約客戶與新加坡源站之間的整個路徑。隨著網(wǎng)站規(guī)模擴大并需要更多資產,A 點和 B 點之間的延遲會不斷增加。
我們再看一下向紐約的 Web 客戶端提供托管在新加坡的內容的示例,但這一次新加坡站點使用一個在亞特蘭大設有服務器的 CDN,其含有靜態(tài)網(wǎng)站的緩存副本:
請求從紐約到亞特蘭大需要 50 毫秒。 建立一個 TCP/IP 連接將添加 3 次 50 毫秒延遲 網(wǎng)頁需要 5 個不同的資產,包括圖片、JavaScript 文件和網(wǎng)頁本身。我們粗略看一下該網(wǎng)頁使用 CDN 時的加載時間:
150 毫秒:在紐約的客戶端和亞特蘭大的邊緣服務器之間建立 TCP/IP 連接。 50 毫秒:對網(wǎng)頁的 HTTP GET 請求從紐約傳送到邊緣服務器。 50 毫秒:客戶端收到來自邊緣服務器的響應,響應中包含網(wǎng)頁以及還需要的其他資產的列表。 50 毫秒:客戶端請求這 5 項資產中的每一項。 800 毫秒:這五項資產從邊緣服務器異步交付給客戶端。網(wǎng)頁加載的總傳輸時間約為?1100 毫秒。
在本例中,客戶端與內容之間距離縮短使靜態(tài)內容的延遲時間縮短了 1900 毫秒;也就是說,加載時間縮短了將近 2 秒鐘。
通過縮短所有必要流量都需要遍歷的總距離,網(wǎng)站的每一用戶都能節(jié)省大量加載時間。用戶會隨著等待時間增加而開始迅速離開站點(跳出),因此這種改進既代表了更好的用戶體驗,也代表著更長的頁面停留時間。
CDN 如何加載內容?什么是高速緩存?如前文所述,當客戶端從源站服務器請求文件時,請求通常需要傳送到服務器,然后再傳回來。CDN 在稱為“高速緩存”的過程中將靜態(tài)內容文件從源站服務器拉取到分布式 CDN 網(wǎng)絡中,從而減少延遲。某些 CDN 具有高級功能,允許有選擇地高速緩存動態(tài)內容。數(shù)據(jù)經(jīng)過高速緩存之后,CDN 將從最近的 CDN 數(shù)據(jù)中心向客戶端提供內容。
完成?TCP 握手后,客戶端計算機向 CDN 的網(wǎng)絡發(fā)出 HTTP 請求。如果內容尚未緩存,則 CDN 將首先通過在源站服務器和 CDN 邊緣服務器之間進行額外請求,從源站下載內容。
典型的 CDN 高速緩存過程包含以下 4 個步驟:
當用戶請求網(wǎng)頁時,用戶的請求被路由到 CDN 中最近的邊緣服務器。 邊緣服務器接著向源站服務器請求用戶請求的內容。 源站響應邊緣服務器的請求。 最后,邊緣服務器響應客戶端。CDN 與客戶端的近距離價值是在向源站服務器發(fā)出初始請求之后體現(xiàn)出來的。一旦數(shù)據(jù)從源站服務器高速緩存到 CDN 網(wǎng)絡中,來自客戶端的每個后續(xù)請求都只需到達最近的邊緣服務器即可。這意味著,如果最近的邊緣服務器比源站服務器近,就能減少延遲,并且更快提供內容。
務必要牢記一點,這不包括下載資產以及處理請求和響應所需的時間;到目前為止,僅計算在兩個位置之間傳輸信息所需的傳輸時間。我們將探索的其他重要延遲因素還包括數(shù)據(jù)縮減、硬盤速度和網(wǎng)絡擁塞。
CDN 如何通過縮減文件大小來提高速度?為縮短頁面加載時間,CDN 減少 CDN 的高速緩存服務器和客戶端之間的總體數(shù)據(jù)傳輸量。當傳輸?shù)臄?shù)據(jù)總量下降時,延遲和所需帶寬都會減少。帶來的結果是更快的頁面加載和更低的帶寬費用。這些縮減包括兩個關鍵組成部分:
極簡化:極簡化是指通過刪除用于幫助人類了解所發(fā)生情況的所有組件來減少代碼塊大小的過程。盡管工程師需要將想法分解為合理的變量名稱、空格和注釋,以使代碼塊易于閱讀和維護,但計算機在刪除這些字符后仍然可以成功運行代碼。
下方列出了極簡化前后的代碼塊:
極簡化之前:八行代碼
極簡化之后:縮減為一行代碼
現(xiàn)在,代碼片段已從八行減少到一行,整個文件的大小也縮小。這意味著傳輸文件所需的時間將縮短,減少了延遲并有助于更快加載內容。
文件壓縮:若要減少通過互聯(lián)網(wǎng)傳輸數(shù)據(jù)時所需的延遲和帶寬消耗,文件壓縮是一個重要組成部分。GZip 是常用的壓縮方法,視為傳輸網(wǎng)頁時所用的一種最佳實踐。許多 CDN 提供商默認情況下都啟用 GZip。GZip 壓縮的節(jié)省程度有多大?通常,壓縮后的文件的大小比初始文件小大約 50% 到 70%。
CDN 可以利用哪些硬件來提高速度?就CDN 硬件優(yōu)化而言,與傳統(tǒng)硬盤驅動器(HDD)相比,使用固態(tài)硬盤(SSD 具有顯著的優(yōu)勢。固態(tài)驅動器打開文件的速度比傳統(tǒng)硬盤驅動器最多快30%,而且更具彈性和可靠性。
與電唱機類似,傳統(tǒng)硬盤驅動器由旋轉的圓形金屬碟片構成,碟片上的磁性涂層可以存儲數(shù)據(jù)。當?shù)D時,上方臂架上的讀/寫頭可以訪問信息。這是一種機械過程,會受到碟片旋轉速度的影響。隨著固態(tài)驅動器的誕生,舊式硬盤驅動器的使用已在減少,但它們目前仍在生產,并在許多計算機系統(tǒng)中廣泛使用。
固態(tài)驅動器 (SSD) 也是一種持久存儲形式,但其功能與 USB 拇指驅動器或數(shù)碼相機等設備中常見的存儲卡更相似;沒有移動部件。如果普通硬盤正在旋轉并且系統(tǒng)受到擠壓,硬盤可能會跳過,從而導致讀/寫錯誤和潛在的停機時間。SSD 的另一個重要好處是訪問碎片文件。文件碎片是文件的一部分位于磁盤上不同位置的情況,導致 HDD 驅動器的訪問速度變慢。由于 SSD 可以有效地訪問非連續(xù)內存位置,因此碎片不會對性能構成威脅。
在首批 CDN 中,數(shù)據(jù)存儲在硬盤驅動器上。現(xiàn)在的一些 CDN 服務將所有邊緣緩存放在固態(tài)驅動器上進行。SSD 的缺點是成本高昂;SSD 的成本可達傳統(tǒng)介質的 5 倍。因此,一些 CDN 服務通常會避免使用 SSD,而選用較舊的技術。
分享名稱:cdn服務器租用-CDN怎么改善加載時間?
本文地址:http://jinyejixie.com/news47/315197.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內鏈、自適應網(wǎng)站、全網(wǎng)營銷推廣、建站公司、ChatGPT、網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容