最佳化 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 回應時間 (目標:快取命中 <100 毫秒)

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

  2. 分析 CDN 效能:

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

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

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

效能基準:

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

  • CDN 快取命中比原始伺服器請求快得多

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

其他疑難排解資源:

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