透過 Azure 內容傳遞網路 動態網站加速

隨著社交媒體、電子商務和超個人化網站的爆炸,實時產生提供給終端使用者的內容比例迅速增加。 使用者需要快速、可靠且個人化的 Web 體驗,與瀏覽器、位置、裝置或網路無關。 不過,讓這些體驗變得如此引人入勝的創新也使頁面下載速度變慢,並讓消費者體驗的品質處於危險中。

標準內容傳遞網路功能包括能夠快取更接近終端用戶的檔案,以加速靜態檔案的傳遞。 不過,使用動態 Web 應用程式時,無法快取邊緣位置中的內容,因為伺服器會產生內容以回應用戶行為。 加快這類內容的傳遞比傳統邊緣快取更為複雜,而且需要端對端解決方案,以從一開始到傳遞在整個數據路徑上微調每個元素。 透過 Azure 內容傳遞網路 動態網站加速 (DSA) 優化,可測量動態內容的網頁效能。

來自 EdgioAzure CDN 透過端點建立期間的 [優化] 選單提供 DSA 優化。 Microsoft 的動態網站加速是透過 Azure Front Door 提供。

重要

針對 來自 Edgio 配置檔的 Azure CDN,您無法在建立內容傳遞網路端點之後變更其優化。

內容傳遞網路端點設定,以加速動態檔案的傳遞

若要設定內容傳遞網路端點來優化動態檔案的傳遞,您可以使用 Azure 入口網站、REST API 或任何用戶端 SDK,以程式設計方式執行相同的動作。

若要使用 Azure 入口網站 來設定 DSA 優化的 CDN 端點:

  1. 在 [ CDN 配置檔] 頁面中,選取 [端點]。

    新增內容傳遞網路端點的螢幕快照。

    [ 新增端點 ] 窗格隨即出現。

  2. 在 [優化] 底下,選取 [動態網站加速]。

    使用 DSA 建立新內容傳遞網路端點的螢幕快照。

  3. 針對 [ 探查路徑],輸入檔案的有效路徑。

    探查路徑是 DSA 特有的功能,需要有效的路徑才能建立。 DSA 會使用放置在源伺服器上的小型 探查路徑 檔案,將內容傳遞網路的網路路由設定優化。 針對探查路徑檔案,您可以下載範例檔案並將其上傳至您的網站,或在原始來源上使用大小約 10 KB 的現有資產。

  4. 輸入其他必要的端點選項(如需詳細資訊,請參閱 建立新的內容傳遞網路端點),然後選取 [ 新增]。

    建立內容傳遞網路端點之後,它會針對符合特定準則的所有檔案套用 DSA 優化。

使用 Azure 內容傳遞網路 的 DSA 優化

Azure 上的動態網站加速 內容傳遞網路 使用下列技術加快動態資產的傳遞速度:

路由優化

路由優化很重要,因為因特網是動態位置,流量和暫時中斷會持續變更網路拓撲。 邊界閘道通訊協定 (BGP) 是因特網的路由通訊協定,但透過中繼存在點 (POP) 伺服器可能會有更快的路由。

路由優化會選擇最理想的來源路徑,讓網站持續存取,且動態內容可透過最快速且最可靠的路由傳送給終端使用者。

Edgio 網路會使用 Anycast DNS、高容量支援 PoP 和健康情況檢查的組合,來判斷最佳網關,以將數據從用戶端路由傳送至來源。

因此,完全動態和交易式內容會更快且更可靠地傳遞給使用者,即使無法快取也一樣。

TCP 優化

傳輸控制通訊協定 (TCP) 是因特網通訊協定套件的標準,用來在 IP 網路上的應用程式之間傳遞資訊。 根據預設,建立 TCP 連線需要多個雙向要求。 此外,有一些限制可防止網路壅塞,這可能會導致大規模運作時效率低下。 來自 Edgio 的 Azure CDN 會藉由在三個區域中優化來處理此問題:

消除 TCP 緩慢啟動

TCP 緩慢啟動 是 TCP 通訊協定的演算法,可藉由限制透過網路傳送的數據量來防止網路壅塞。 它會從傳送者和接收者之間的小型壅塞視窗大小開始,直到達到最大值或偵測到封包遺失為止。

來自 Edgio 配置檔的 Azure CDN 會從下列三個步驟中排除 TCP 緩慢啟動:

  1. 健康情況和頻寬監視可用來測量邊緣 POP 伺服器之間的連線頻寬。

  2. 計量會在邊緣 POP 伺服器之間共用,讓每部伺服器知道其周圍其他 PoP 的網路狀況和伺服器健康情況。

  3. 內容傳遞網路邊緣伺服器會假設某些傳輸參數,例如與其鄰近的其他內容傳遞網路邊緣伺服器通訊時,最佳視窗大小應該是什麼。 此步驟表示,如果內容傳遞網路邊緣伺服器之間的連線健康情況能夠進行更高的封包數據傳輸,初始壅塞視窗大小可能會增加。

使用永續性連線

當您使用內容傳遞網路時,相較於直接連線到來源的使用者,只有較少的唯一計算機會直接連線到您的源伺服器。 Azure 內容傳遞網路 也會將使用者要求集結在一起,以建立與來源較少的連線。

如先前所述,需要數個交握要求才能建立 TCP 連線。 由 HTTP 標頭實作的 Keep-Alive 持續性連線,針對多個 HTTP 要求重複使用現有的 TCP 連線,以節省往返時間並加速傳遞。

來自 Edgio 的 Azure CDN 也會透過 TCP 連線傳送定期保持連線封包,以防止開啟的連線關閉。

快取

使用 DSA 時,預設會在內容傳遞網路上關閉快取,即使來源 Cache-Control 在回應中包含 或 Expires 標頭也一起關閉。 DSA 通常用於不應該快取的動態資產,因為它們對每個用戶端而言都是唯一的。 快取可能會中斷此行為。

如果您有混合靜態和動態資產的網站,最好採用混合式方法來獲得最佳效能。

使用 來自 Edgio 配置檔的 Azure CDN 標準版,您可以使用快 取規則來開啟特定 DSA 端點的快取。

若要存取快取規則:

  1. 從 [ CDN 配置檔] 頁面的 [設定] 底下,選取 [ 快取規則]。

    內容傳遞網路快取規則按鈕的螢幕快照。

    [快 取規則] 頁面隨即開啟。

  2. 建立全域或自定義快取規則,以開啟 DSA 端點的快取。

針對僅限來自 Edgio 配置檔的 Azure CDN 進階版,您可以使用規則引擎開啟特定 DSA 端點的快取。 所建立的任何規則只會影響已針對 DSA 優化的配置檔端點。

若要存取規則引擎:

  1. 從 [ CDN 配置檔] 頁面中,選取 [ 管理]。

    內容傳遞網路配置檔管理按鈕的螢幕快照。

    內容傳遞網路管理入口網站隨即開啟。

  2. 從內容傳遞網路管理入口網站中,選取 [ADN],然後選取 [ 規則引擎]。

    DSA 的規則引擎

或者,您可以使用兩個內容傳遞網路端點:一個使用 DSA 優化的端點來傳遞動態資產,另一個以靜態優化類型優化的端點,例如一般 Web 傳遞,以傳遞可快取的資產。 修改您的網頁 URL,以直接連結到您計劃使用的內容傳遞網路端點上的資產。

例如,是動態頁面, mydynamic.azureedge.net/index.html 並從 DSA 端點載入。 HTML 頁面會參考多個靜態資產,例如從靜態內容傳遞網路端點載入的 JavaScript 連結庫或影像,例如 mystatic.azureedge.net/banner.jpgmystatic.azureedge.net/scripts.js