透過 Azure 內容傳遞網路 動態網站加速
隨著社交媒體、電子商務和超高度個人化 web 的爆炸性成長,呈現給使用者的內容百分比正快速成長,從而須以即時方式產生。 使用者期待擁有快速、可靠且個人化的 Web 體驗,無關乎其瀏覽器、位置、裝置或網路。 不過,與這些體驗高度相關的創新,卻也使得頁面下載速度緩慢,並且讓消費者體驗的品質面臨風險。
標準內容傳遞網路功能包括能夠快取更接近終端用戶的檔案,以加速靜態檔案的傳遞。 不過,使用動態 Web 應用程式,就無法在邊緣位置中快取該內容,因為伺服器所產生的內容是用以回應使用者的行為。 相較於傳統的邊緣快取,要加速傳遞這類內容更為複雜,並且需要端對端解決方案,在從開始到傳遞的整個資料路徑上微調每個元素。 透過 Azure 內容傳遞網路 動態網站加速 (DSA) 優化,可測量地改善具有動態內容的網頁效能。
透過 Azure Front Door 提供來自 Microsoft 的動態網站加速。
內容傳遞網路端點設定,以加速動態檔案的傳遞
若要設定內容傳遞網路端點以優化動態檔案的傳遞,您可以使用 Azure 入口網站、REST API 或任何用戶端 SDK,以程式設計方式執行相同的動作。
若要將 CDN 端點設定成使用 Azure 入口網站進行 DSA 最佳化:
在 [CDN 設定檔] 頁面中選取 [端點]。
此時會顯示 [新增端點] 窗格。
在 [最佳化] 之下,選取 [動態網站加速]。
針對 [探查路徑],輸入檔案的有效路徑。
探查路徑是 DSA 特定的功能,在建立時需要有效的路徑。 DSA 會使用放置在源伺服器上的小型 探查路徑 檔案,將內容傳遞網路的網路路由設定優化。 如需探查路徑檔案,您可以下載我們的範例檔案並上傳至您的網站,或使用原始伺服器上大約 10 KB 的現有資產。
輸入其他必要的端點選項(如需詳細資訊,請參閱 建立新的內容傳遞網路端點),然後選取 [ 新增]。
建立內容傳遞網路端點之後,它會針對符合特定準則的所有檔案套用 DSA 優化。
使用 Azure 內容傳遞網路 的 DSA 優化
Azure 上的動態網站加速 內容傳遞網路 使用下列技術加快動態資產的傳遞速度:
路由最佳化
路由最佳化很重要,因為網際網路是變化不斷的場所,其中的流量和暫時中斷經常會變更網路拓撲。 邊界閘道通訊協定 (BGP) 是因特網的路由通訊協定,但透過中繼存在點 (POP) 伺服器可能會有更快的路由。
路線最佳化會選擇與來源之間的最佳路徑,使站台能持續存取,且可透過最快速且最可靠的路由,將動態內容傳遞給使用者。
如此一來,就能更快速且更可靠地將完全動態和交易式內容傳遞給終端使用者,即使其不可快取也一樣。
TCP 最佳化
傳輸控制通訊協定 (TCP) 是因特網通訊協定套件的標準,用來在 IP 網路上的應用程式之間傳遞資訊。 根據預設,建立 TCP 連線需要多個雙向要求。 此外,有一些限制可防止網路壅塞,這可能會導致大規模運作時效率低下。
排除 TCP 慢速啟動
TCP「慢速啟動」是 TCP 通訊協定的演算法,可藉由限制透過網路傳送的資料量來防止網路壅塞。 它會從傳送者與接收者之間的小型壅塞視窗大小開始,直到觸達最大值或偵測到封包遺失為止。
使用永續性連線
當您使用內容傳遞網路時,相較於直接連線到來源的使用者,只有較少的唯一計算機會直接連線到您的源伺服器。 Azure 內容傳遞網路 也會將使用者要求集結在一起,以建立與來源較少的連線。
如先前所述,需要幾個交握要求才能建立 TCP 連線。 持續連線 (由 Keep-Alive
HTTP 標頭所實作) 會對多個 HTTP 要求重複使用現有的 TCP 連線,以省下往返時間並加速傳遞。
快取功能
使用 DSA 時,預設會在內容傳遞網路上關閉快取,即使來源 Cache-Control
在回應中包含 或 Expires
標頭也一起關閉。 DSA 通常用於不得快取的動態資產,因為這類資產對每個用戶端都是唯一的。 快取可能會破壞此行為。
如果您的網站混雜了靜態和動態資產,您最好採用混合式方法以獲得最佳效能。
存取快取規則:
從 [CDN 設定檔] 頁面的 [設定] 底下,選取 [快取規則]。
[快取規則] 頁面隨即開啟。
建立全域或自訂快取規則以開啟 DSA 端點的快取。
存取規則引擎:
從 [CDN 設定檔] 頁面選取 [管理]。
內容傳遞網路管理入口網站隨即開啟。
從內容傳遞網路管理入口網站中,選取 [ADN],然後選取 [ 規則引擎]。
或者,您可以使用兩個內容傳遞網路端點:一個使用 DSA 優化的端點來傳遞動態資產,另一個以靜態優化類型優化的端點,例如一般 Web 傳遞,以傳遞可快取的資產。 修改您的網頁 URL,以直接連結到您計劃使用的內容傳遞網路端點上的資產。
例如,mydynamic.azureedge.net/index.html
是從 DSA 端點載入的動態網頁。 HTML 頁面會參考多個靜態資產,例如從靜態內容傳遞網路端點載入的 JavaScript 連結庫或影像,例如 mystatic.azureedge.net/banner.jpg
和 mystatic.azureedge.net/scripts.js
。