View a markdown version of this page

最佳化 CDN 效能並解決 MediaTailor 的延遲問題 - AWS Elemental MediaTailor

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

最佳化 CDN 效能並解決 MediaTailor 的延遲問題

AWS Elemental MediaTailor 內容交付網路 (CDN) 整合效能會直接影響瀏覽者體驗和廣告交付品質。如果您遇到回應時間緩慢或效能降低:

效能測量技術

在疑難排解效能問題之前,請建立基準測量和持續監控:

  1. 測量關鍵效能指標:

    • 回應時間:資訊清單請求應在 200 毫秒內完成,分割請求應在 100 毫秒內完成

    • 快取命中率:內容區段 >95%、廣告區段 >90%

    • 原始請求磁碟區:快取最佳化時,應小於請求總數的 5%

    • 到第一個影格的時間:初始播放應在 2-3 秒內開始

  2. 使用效能測量工具:

    • CDN 分析儀表板:監控快取效能、回應時間和錯誤率

    • CloudWatch 指標:追蹤 MediaTailor 服務指標,包括 GetManifest.Latency

    • 瀏覽器開發人員工具:測量用戶端效能和網路時間

    • 命令列工具:使用 curl 搭配計時選項來測量特定請求

  3. 實作持續監控:

    • 設定自動效能提醒以降低回應時間

    • 監控不同地理區域的效能

    • 追蹤尖峰流量期間的效能

    • 比較組態變更前後的效能指標

效能測量資源:

CDN 快取效能問題

快取效能問題是最常見的 CDN 整合問題之一。這些問題會影響所有 MediaTailor 實作,並可能大幅影響瀏覽者體驗和成本。

低快取命中率

徵狀:高原始請求量、增加延遲、更高的頻寬成本、檢視器體驗不佳

目標值:

  • 內容區段:95% 或更高的快取命中率

  • 廣告客群:90% 或更高的快取命中率

  • 資訊清單:依實作而異 (不應快取個人化資訊清單)

常見原因:

  • 不同內容類型的 TTL 設定不正確

  • 快取金鑰組態包含不必要的查詢參數

  • 原始伺服器的快取控制標頭未正確設定

  • 頻繁的快取失效或清除

  • 地理分佈問題 (節點未快取內容)

解決方案:

  1. 檢閱和最佳化 TTL 設定:

    • 內容區段:設定 TTL 以符合區段持續時間或更長的時間

    • 廣告客群:將可重複使用廣告的 TTL 設定為 24 小時或更長時間

    • 靜態資產:將 TTL 設定為 24 小時或更長時間

    如需完整的 TTL 建議和快取最佳化策略,請參閱 CDN 和 MediaTailor 整合的快取最佳化。

  2. 最佳化快取金鑰組態:

    • 從快取金鑰移除不必要的查詢參數

    • 確保只包含內容影響參數

    • 標準化參數順序和區分大小寫

  3. 確認原始伺服器快取控制標頭已正確設定

  4. 針對高流量實作實作實作原始伺服器遮罩 (或同等 CDN 功能)。原始伺服器遮罩功能可在主要 CDNs 中使用,但可能有不同的名稱 (例如 CloudFront Origin Shield、Fastly Shield、Cloudflare Argo 分層快取)。如果您的 CDN 不提供此功能,您可以在聯絡 AWS Support 時於 MediaTailor 中啟用此功能。

  5. 檢閱快取失效策略並減少不必要的清除

驗證步驟:

  1. 使用 CDN 分析儀表板監控快取命中率

  2. 使用 curl 測試特定 URLs 以驗證快取標頭

  3. 比較變更前後的原始伺服器請求磁碟區

高原始伺服器請求磁碟區

徵狀:到達 MediaTailor 原始伺服器的請求數量意外過高、原始伺服器負載增加、成本增加

預期模式:當快取命中率最佳時,原始伺服器請求應小於總檢視器請求的 5%

常見原因:

  • 快取由於低 TTL 值而遺漏

  • 快取金鑰分段 (太多唯一的快取金鑰)

  • 在沒有快取內容的區域中,地理流量激增

  • 頻繁的快取失效

解決方案:

  1. 分析請求模式以識別快取遺漏原因

  2. 根據內容類型和更新頻率最佳化 TTL 設定

  3. 實作新內容的快取暖機策略

  4. 考慮原始伺服器遮罩實作 (適用於名稱不同的主要 CDNs - Origin Shield 實作 如需詳細資訊,請參閱 )

警示閾值:當原始伺服器請求超過請求總數的 10% 或比基準增加 50% 時,設定警示

常見的 HTTP 錯誤解析

CDN 整合中的 HTTP 錯誤通常表示組態問題或服務問題。這些錯誤模式在所有 MediaTailor 實作中都是一致的。

404 找不到錯誤

症狀:資訊清單或區段請求傳回 HTTP 404,玩家無法在玩家日誌中載入內容「MANIFEST_LOAD_ERROR」

常見原因:

  • CDN 原始伺服器組態不正確 (錯誤的 MediaTailor 端點 URL)

  • 快取行為路徑模式遺失或不正確

  • CDN 組態中的 URL 重寫問題

  • MediaTailor 組態名稱或播放端點錯誤

  • 即時內容的計時問題 (請求未來的客群)

診斷步驟:

  1. 直接針對 MediaTailor 原始伺服器測試相同的 URL (繞過 CDN)

  2. 確認 CDN 原始伺服器組態符合 MediaTailor 播放端點

  3. 檢查 CDN 快取行為路徑模式和優先順序

  4. 檢閱 CDN 存取日誌以取得請求路由詳細資訊

  5. 驗證 MediaTailor 組態名稱和區域設定

解決方案:

  • 更正 CDN 原始伺服器組態以符合 MediaTailor 播放端點

  • 更新快取行為路徑模式以正確路由請求

  • 如果適用,請修正 URL 重寫規則

  • 驗證 MediaTailor 組態是否存在且處於作用中狀態

403 禁止的錯誤

症狀:請求傳回 HTTP 403、存取遭拒的訊息、身分驗證失敗

常見原因:

  • MediaTailor 所需的查詢參數遺失或不正確

  • CDN 不會轉送所需的標頭或參數

  • IP 地址限制或地理封鎖

  • 身分驗證字符問題 (如果使用簽章URLs)

解決方案:

  • 確認包含並轉送所有必要的查詢參數

  • 檢查 CDN 組態的標頭和參數轉送

  • 檢閱 IP 限制和地理設定

  • 驗證身分驗證字符和簽署程序

400 錯誤的請求錯誤

症狀:請求傳回 HTTP 400、格式不正確的請求錯誤、參數驗證失敗

常見原因:

  • 格式不正確的查詢參數或 URL 編碼問題

  • 參數值或格式無效

  • 缺少特定 MediaTailor 功能所需的參數

  • 超過 URL 長度限制

解決方案:

  • 驗證查詢參數格式和 URL 編碼

  • 根據 MediaTailor API 要求檢查參數值

  • 確保包含所有必要參數

  • 檢閱 URL 長度並考慮參數最佳化

5xx 伺服器錯誤

症狀:請求傳回 HTTP 500、502、503 或 504 錯誤、間歇性服務失敗

常見原因:

  • MediaTailor 服務問題或容量限制

  • CDN 原始連線問題

  • 由於原始伺服器回應緩慢而發生的逾時問題

  • 暫時性服務降級

解決方案:

  • 檢查 AWS 服務運作狀態儀表板的 MediaTailor 服務狀態

  • 驗證 CDN 原始伺服器連線和逾時設定

  • 實作具有指數退避的重試邏輯

  • 監控 MediaTailor CloudWatch 指標的服務運作狀態

  • 如果問題持續存在,請聯絡 AWS Support

  1. 測量基準效能:

    • 直接向 MediaTailor 測試資訊清單請求回應時間 (目標:<200ms)

    • 測量資訊清單請求的 CDN 回應時間 (目標:<100ms 快取命中)

    • 從原始伺服器和 CDN 檢查區段載入時間

  2. 分析 CDN 效能:

    • 檢查內容區段的快取命中率 (目標:熱門內容 >80%)

    • 確認原始伺服器遮罩 (或同等 CDN 功能) 已啟用,並在與原始 AWS 伺服器相同的區域中設定。不同的 CDNs對此功能使用不同的名稱

    • 監控 CDN 節點效能和地理分佈

效能基準:

  • 監控資訊清單產生回應時間,並與基準效能進行比較

  • CDN 快取命中明顯比原始伺服器請求快

  • ADS 回應時間不應導致資訊清單產生延遲

其他疑難排解資源:

成功條件:解決時,回應時間應符合目標基準 (資訊清單小於 200 毫秒、區段小於 100 毫秒)、大多數內容類型的快取命中率應超過 90%,而原始伺服器請求數量應小於請求總數的 5%。在所有地理區域和裝置類型中,效能應保持一致。