什麼是延遲?| 如何修復延遲

網路延遲是封包從一個地方到另一個地方所需的時間。降低延遲是建立良好使用者體驗的重要部分。

學習目標

閱讀本文後,您將能夠:

  • 瞭解什麼是延遲以及延遲的原因
  • 說明網路延遲、頻寬和輸送量之間的區別
  • 瞭解如何減少延遲

相關內容


想要繼續瞭解嗎?

訂閱 TheNET,這是 Cloudflare 每月對網際網路上最流行見解的總結!

請參閱 Cloudflare 的隱私權政策,了解我們如何收集和處理您的個人資料。

複製文章連結

什麼是延遲?

延遲是資料從網路上的一個點傳遞到另一個點所花費的時間。假設紐約的伺服器 A 向倫敦的伺服器 B 傳送資料封包。伺服器 A 在 04:38:00.000 GMT 傳送封包,伺服器 B 在 04:38:00.145 GMT 接收封包。此路徑上的延遲量是這兩個時間之間的差值:0.145 秒或 145 毫秒。

大多數情況下,延遲是在使用者裝置(「用戶端」裝置)和資料中心之間測量的。這種測量有助於開發人員瞭解網頁或應用程式為使用者載入的速度。

儘管網際網路上的資料以光速傳播,但網際網路基礎結構設備造成的距離和延遲的影響意味著延遲永遠無法完全消除。然而,它可以而且應該被最小化。大量延遲會導致網站效能不佳,對 SEO 產生負面影響,並可能導致使用者完全離開網站或應用程式。

什麼會導致網際網路延遲?

網路延遲的主要原因之一是距離,特別是發出請求的用戶端裝置與回應這些請求的伺服器之間的距離。如果網站託管在俄亥俄州哥倫布市的資料中心,它將很快收到來自辛辛納提(大約 100 英里外)的使用者的請求,可能在 5-10 毫秒內。另一方面,來自洛杉磯(大約 2,200 英里外)的使用者請求將需要更長的時間才能到達,接近 40-50 毫秒。

幾毫秒的增加可能看起來不是很多,但是由於用戶端和伺服器建立建立所需的所有來回通訊、頁面的總大小和載入時間,以及在資料傳輸沿途網路設備發生的任何問題,都會導致延遲加劇。用戶端請求後回應到達用戶端裝置所需的時間稱為來回時間 (RTT)。RTT 等於延遲量的兩倍,因為資料必須雙向傳輸(來回)。

通過網際網路的資料通常不僅要跨越一個網路,而且要跨越多個網路。HTTP 回應需要通過的網路越多,出現延遲的機會就越大。例如,當資料封包在網路之間交叉時,它們會通過網際網路交換點 (IXP)。在那裡,路由器必須處理和路由封包,有時路由器可能需要將它們分解成更小的封包,所有這些都會使 RTT 增加幾毫秒。

網路延遲、輸送量和頻寬

延遲、頻寬和輸送量都是相互關聯的,但它們衡量的是不同的東西。頻寬是在任何給定時間可以通過網路的最大資料量。輸送量是在給定時間段內實際通過的平均資料量。輸送量不一定等同於頻寬,因為它受到延遲和其他因素的影響。延遲是時間的度量,而不是隨著時間的推移下載了多少資料。

如何減少延遲?

使用 CDN(內容傳遞網路)是減少延遲的重要一步。CDN 快取靜態內容並將其提供給使用者。(Cloudflare CDN 使快取動態內容以及 Cloudflare Workers 成為可能。)CDN 伺服器分佈在多個位置,因此內容儲存在離終端使用者更近的地方,不需要走很遠的路就能到達他們處。這意味著載入網頁將花費更少的時間,從而提高網站速度和效能

除了延遲之外,還有其他因素也會降低效能。Web 開發人員可以最大限度地減少阻礙呈現的資源的數量(例如,最後載入 JavaScript),最佳化影像以加快載入速度,並儘可能減小檔案大小。程式碼縮制是減小 JavaScript 和 CSS 檔案大小的一種方法。

透過策略性地先載入某些資產,可以提高感知頁面效能。可以將網頁設定為先載入頁面的頭版畫面區域,這樣使用者甚至可以在頁面完成載入之前就開始與頁面互動(頭版畫面是指在使用者向下捲動之前瀏覽器視窗中出現的內容)。網頁還可以使用一種稱為消極式載入的技術,僅在需要時載入資產。這些方法實際上並沒有改善網路延遲,但它們確實提升了使用者感知到的頁面速度。

使用者如何解決延遲問題?

有時,網路「延遲」(網路效能低下)是由使用者端而非伺服器端的問題引起的。如果網路效能緩慢是一個持續存在的問題,消費者始終可以選擇購買更多頻寬,不過頻寬並不能保證網站效能。切換到乙太網路而不是 WiFi 將導致更穩定的網際網路連線,並且通常會提高網際網路速度。使用者還應透過定期套用韌體更新並在必要時完全更換設備來確保他們的網際網路設備為最新。