日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

内容分发网络 CDN 是如何提高网页加载时间的?

發布時間:2023/12/19 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 内容分发网络 CDN 是如何提高网页加载时间的? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

幾乎 Internet 上的每個人都體驗過內容分發網絡 (CDN) 的好處。大多數科技公司,包括谷歌、蘋果和微軟等公司,都使用 CDN 來減少加載網頁內容的延遲。

CDN 通常會將服務器放置在不同網絡之間的交換點。這些互聯網交換點 (IXP) 是不同互聯網提供商相互鏈接的主要位置,以便相互訪問其不同網絡上的資源。除了 IXP 之外,CDN 還將在全球高流量區域和戰略位置的數據中心放置服務器,以便能夠盡快移動流量。

CDN 的主要好處是它能夠快速有效地交付內容。 CDN 性能優化可以分為三類:

(1) 距離減少——減少客戶端和請求數據之間的物理距離
(2) 硬件/軟件優化——提高服務器端基礎設施的性能,例如通過使用固態硬盤和高效的負載平衡
(3) 減少數據傳輸——采用技術來減少文件大小,以便快速加載初始頁面

為了理解使用 CDN 的好處,讓我們探索一下沒有 CDN 的正??蛻舳?服務器數據傳輸是什么樣的。

假設紐約的某個人需要訪問托管在新加坡服務器上的網站。 這些位置之間的物理間隔很大,物理距離約為 9,520 英里。

如果托管網站內容的服務器(源服務器)位于新加坡,則對每個網頁資產的每個請求都必須從紐約傳輸到新加坡,然后再返回。 就像乘坐沿途有許多連接的國際航班一樣,每個請求都必須沿著從 A 點到 B 點的遠距離旅行通過一系列路由器。

如果您想查看計算機從當前位置到達特定 Web 服務需要多少個不同連接(躍點)的真實示例,請使用臺式計算機探索 traceroute 實用程序。

由于從紐約到新加坡的請求需要經過沿途的每個路由器位置,因此總距離和每個路由器處理請求所需的時間都會增加時間(延遲)。 一旦源服務器處理了請求并響應了發出請求的客戶端,它就會在返回紐約之前通過類似的路由器序列將信息發回。 這種總往返行程的測量在電信中稱為“往返時間”的 RTT。 暫時忽略可用帶寬和潛在的網絡擁塞,讓我們看一下延遲因素的示例。

為了說明起見,讓我們說:

(1) 一個請求從紐約到新加坡需要 250 毫秒。

(2) 建立 TCP/IP 連接將增加 3 個 250 毫秒延遲的實例。

(3) 網頁需要 5 個獨特的資產,包括圖像、JavaScript 文件和網頁本身。

讓我們看看加載這個網頁需要多長時間:

750ms:TCP/IP 連接在紐約的客戶端和新加坡的源服務器之間建立。
250 毫秒:網頁的 HTTP 請求從紐約傳輸到新加坡。
250 毫秒:紐約的請求者收到來自新加坡的原始服務器的響應,其中包含 200 狀態代碼和包含所有所需附加資產的網頁。
250 毫秒:紐約的客戶請求了 5 個資產中的每一個。
1500ms:5個資產從新加坡的源站異步交付給客戶端。

在這個簡單的例子中,這個網頁加載的總傳輸時間約為 3000 毫秒。

如您所見,每次發出請求并發送響應時,都會遍歷紐約客戶端和新加坡源之間的整個路徑。 隨著網站變得越來越大并且需要更多的資產,A 點和 B 點之間的延遲不斷增加。

讓我們重新審視一下在新加坡托管的內容提供給紐約 Web 客戶端的示例,但現在新加坡站點使用 CDN 和亞特蘭大的服務器,其中包含靜態網站的緩存副本:

(1) 一個請求從紐約到亞特蘭大需要 50 毫秒。
(2) 建立 TCP/IP 連接會增加 3 個 50ms 延遲的實例
(3) 網頁需要 5 個獨特的資產,包括圖像、JavaScript 文件和網頁本身。

讓我們大致看看使用 CDN 加載此網頁需要多長時間:

150ms:在紐約的客戶端和亞特蘭大的邊緣服務器之間建立 TCP/IP 連接。
50ms:網頁的 HTTP GET 請求從客戶端傳輸到邊緣服務器。
50 毫秒:客戶端收到來自邊緣服務器緩存的響應,其中包含包含仍需要的所有附加資產列表的網頁。
50 毫秒:客戶端請求 5 個資產中的每一個。
800ms:5個資產從邊緣服務器異步交付給客戶端。
此網頁加載的總傳輸時間約為 1100 毫秒。

在此示例中,客戶端與內容之間距離的縮短使靜態內容的延遲縮短了 1900 毫秒,這意味著加載時間縮短了近 2 秒。

通過減少所有必要流量需要穿越的總距離,網站的每個用戶都節省了大量的加載時間。 因為隨著等待時間的增加,用戶開始非??斓仉x開網站(反彈),這種改進代表了更好的用戶體驗和更多的用戶在頁面上的時間。

How does a CDN load content? What is caching?

如前所述,通常當客戶端從源服務器請求文件時,該請求需要往返于該服務器并再次返回。 CDN 通過在稱為緩存的過程中將靜態內容文件從源服務器拉入分布式 CDN 網絡來改善延遲。 一些 CDN 將具有允許選擇性緩存動態內容的高級功能。 緩存數據后,CDN 會將內容從最近的 CDN 數據中心提供給客戶端。

在進行 TCP 握手后,客戶端計算機向 CDN 的網絡發出 HTTP 請求。 如果內容尚未緩存,CDN 將首先通過在源服務器和 CDN 的邊緣服務器之間發出額外請求來從源下載內容。

以下是典型 CDN 緩存過程中的 4 個步驟:

(1) 當用戶請求一個網頁時,用戶的請求會被路由到 CDN 最近的邊緣服務器。
(2) 然后邊緣服務器就用戶請求的內容向源服務器發出請求。
(3) 源響應邊緣服務器的請求。
(4) 最后邊緣服務器響應客戶端。

CDN 與客戶端的接近度值發生在向源服務器發出初始請求之后。 一旦數據從源服務器緩存到 CDN 的網絡上,來自客戶端的每個后續請求只需要到達最近的邊緣服務器。 這意味著如果最近的邊緣服務器比源服務器更近,則可以減少延遲并且可以更快地提供內容。

重要的是要記住,下載資產以及處理請求和響應所需的時間目前不包括在內; 到目前為止,只計算了在這兩個地點之間傳輸信息所需的運輸時間。 我們將探索的其他重要延遲因素包括數據減少、硬盤速度和網絡擁塞。

How does a CDN reduce file sizes to increase speeds?

為了縮短頁面加載時間,CDN 減少了 CDN 緩存服務器和客戶端之間的總體數據傳輸量。 當傳輸的數據總量下降時,延遲和所需帶寬都會減少。 結果是更快的頁面加載和更低的帶寬成本。 這些減少有兩個關鍵組成部分:

Minification:縮小 - 縮小是通過刪除所有有助于人們理解正在發生的事情的組件來減小代碼塊大小的過程。 雖然工程師需要將想法分成合理的變量名稱、空格和注釋,以使代碼塊可讀和可維護,但計算機可以成功地運行代碼,刪除這些字符。

這是縮小前后的相同代碼塊:

縮小前:八行代碼

縮小之后,一行代碼:

現在代碼片段已經從八行減少到一行,整體文件大小也減少了。 這意味著傳輸文件所需的時間更少,從而減少了延遲并有助于更快地加載內容。

文件壓縮 - 文件壓縮是減少通過 Internet 傳輸數據時所需的延遲和帶寬消耗的一個組成部分。 GZip 是一種常用的壓縮方法,被認為是傳輸網頁時使用的最佳實踐。 許多 CDN 提供商默認啟用 GZip。 GZip 壓縮的節省有多大? 通常壓縮文件將減少初始文件大小的 50% 到 70%。

What hardware can a CDN use to improve speeds?

就 CDN 硬件優化而言,與傳統硬盤驅動器 (HDD) 相比,固態硬盤驅動器 (SSD) 的使用帶來了實質性好處;固態驅動器打開文件的速度比傳統硬盤驅動器快 30%,并且更具彈性和可靠性。

類似于電唱機,傳統的硬盤驅動器由一個旋轉的圓形金屬盤組成,帶有用于存儲數據的磁性涂層。當磁盤在其下方旋轉時,手臂上的讀/寫頭會訪問信息。這個過程是機械的,并且受光盤旋轉速度的影響。隨著固態驅動器的出現,舊型號的硬盤驅動器已變得不常用,盡管它們今天仍在生產并在許多計算機系統中廣泛流通。

固態硬盤 (SSD) 也是一種永久性存儲,但其功能更類似于 USB 拇指驅動器或數碼相機等設備中常見的存儲卡;沒有移動部件。如果普通硬盤在旋轉并且系統被推擠,則 HDD 可能會跳過,從而導致讀/寫錯誤和潛在的停機時間。 SSD 的另一個重要優勢是可以訪問碎片化文件。文件碎片是指文件的各個部分位于整個磁盤的不同位置,從而導致 HDD 驅動器訪問速度變慢的情況。由于 SSD 可以有效地訪問不連續的內存位置,因此碎片不會對性能構成威脅。

在第一個 CDN 中,數據存儲在硬盤驅動器上?,F在有了一些 CDN 服務,所有的邊緣緩存都可以發生在固態驅動器上。 SSD 的缺點是費用高。 SSD 的價格最高可達傳統媒體的 5 倍。因此,一些 CDN 服務通常會避免使用 SSD,而是選擇較舊的技術。

更多Jerry的原創文章,盡在:“汪子熙”:

總結

以上是生活随笔為你收集整理的内容分发网络 CDN 是如何提高网页加载时间的?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。