

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# CDN 和集成的测试和 MediaTailor 验证
<a name="cdn-integration-testing"></a>

AWS Elemental MediaTailor 内容分发网络 (CDN) 集成需要进行全面测试，以确保可靠的广告投放和最佳性能。系统测试有助于在集成问题影响观看者之前将其识别出来。使用这种全面的方法来验证您的内容交付网络以及跨不同场景、配置和负载条件的 MediaTailor 集成。

**相关话题：**
+ 有关包括监控和日志记录在内的操作设置，请参见 [内容分发网络监控](cdn-monitoring.md)
+ 要在出现问题时进行故障排除，请参阅 [对 CDN 集成进行故障排除](cdn-troubleshooting.md)
+ 有关性能优化指南，请参阅 [CDN 和 MediaTailor 集成的性能优化指南](cdn-optimization.md)

**Topics**
+ [测试先决条件](testing-prerequisites.md)
+ [系统化测试方法](systematic-testing-approach.md)
+ [部署前清单](testing-checklist.md)
+ [测试工具参考](testing-tools-reference.md)

# 测试 CDN 和集成的先决条件和 MediaTailor 设置
<a name="testing-prerequisites"></a>

AWS Elemental MediaTailor 内容分发网络 (CDN) 集成测试需要适当的准备和资源分配。在开始系统测试之前，请确保您拥有必要的资源和工具。

**所需资源：**
+ 测试配置为镜像生产设置的 CDN 分发
+ 使用已知内容和广告来源测试 MediaTailor 配置
+ 测试具有可预测特征的内容（时长、格式、广告插播标记）
+ 测试广告决策服务器或模拟 ADS 响应
+ 多种测试设备和玩家类型

**测试工具：**
+ `curl`用于 HTTP 请求测试
+ `ffprobe`用于 HLS 清单验证
+ `mp4box`用于 DASH 清单验证
+ 用于网络分析的浏览器开发者工具
+ 用于 end-to-end测试的视频播放器

# CDN 和 MediaTailor 集成的系统测试方法
<a name="systematic-testing-approach"></a>

AWS Elemental MediaTailor 内容交付网络 (CDN) 集成测试应遵循系统的分阶段方法，以确保全面覆盖。按照这种结构化方法全面测试您的内容交付网络和 MediaTailor 集成。每个阶段都建立在前一个阶段的基础上，以隔离潜在的问题。

有关系统测试方法的更多指导，请参阅 Well-Architecte AWS d [Framework 中的可靠性测试](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/test-reliability.html)。

## 第 1 阶段：测试直接 MediaTailor 连接
<a name="phase1-direct-emt-testing"></a>

首先在没有 CDN 参与的情况下测试 MediaTailor 功能以建立基准。

1. 直接测试向 MediaTailor 端点发送的清单请求：
   + 测试 HLS 多变体播放列表请求：`curl -v "https://your-emt-endpoint.mediatailor.region.amazonaws.com/v1/master/hls/config-name/master.m3u8"`
   + 测试 DASH MPD 请求：`curl -v "https://your-emt-endpoint.mediatailor.region.amazonaws.com/v1/dash/config-name/manifest.mpd"`
   + 验证清单响应是否包含预期的广告插播标记
   + 检查该分段 URLs 点以纠正原点

1. 验证广告插入是否正常：
   + 使用不同的广告定位参数进行测试
   + 验证广告区段已正确转码且可用
   + 查看广告中断时间和持续时间
   + 测试广告不可用时的回退行为

1. 衡量基准性能：
   + 记录清单请求响应时间
   + 衡量广告决策服务器的响应时间
   + 测试会话的创建和管理

**成功标准：**所有直接 MediaTailor 请求都会返回 HTTP 200 响应，其清单格式正确，其中包含预期的广告内容。

## 第 2 阶段：测试基本 CDN 集成
<a name="phase2-basic-cdn-integration"></a>

将 CDN 添加到请求路径并测试基本功能。

1. 通过 CDN 测试清单请求：
   + 使用简单的路由规则配置 CDN
   + 通过 CDN 端点测试清单请求
   + 验证 CDN 是否正确地将请求转发到 MediaTailor
   + 检查清单响应是否未被缓存 (TTL = 0)

1. 测试段路由：
   + 验证内容分段到源服务器的路由
   + 验证广告细分到 MediaTailor 广告存储的路径
   + 测试区段缓存行为

1. 比较 CDN 与直接性能：
   + 测量响应时间差异
   + 检查回复中是否存在任何内容差异
   + 验证错误处理是否正常

**成功标准：**CDN 应成功代理发往 MediaTailor 和源服务器的请求，同时对性能的影响最小。

## 第 3 阶段：测试查询参数转发
<a name="phase3-parameter-forwarding"></a>

添加查询参数转发并测试广告个性化。

1. 在 CDN 上配置查询参数转发：
   + 启用将所有查询参数转发到 MediaTailor
   + 测试会话初始化（会话 ID 由 MediaTailor 在第一次请求时自动生成）
   + 使用自定义定位参数进行测试

1. 测试广告个性化：
   + 验证不同的参数会产生不同的广告响应
   + 测试参数编码和特殊字符
   + 检查参数是否正确传递给 ADS

1. 验证会话管理：
   + 测试会话的创建和保持
   + 验证请求间的会话 ID 一致性
   + 测试会话过期处理

**成功标准：**广告内容因查询参数而异，并且会话管理得当。

## 第 4 阶段：测试标头转发
<a name="phase4-header-forwarding"></a>

在 CDN 中添加标头转发并测试特定于设备的定位。

1. 为所有标头配置标头转发。有关最低要求，请参阅[MediaTailor CDN 集成所需的标头](cdn-configuration.md#cdn-required-headers)。

1. 测试设备定位：
   + 使用不同的用户代理字符串（手机、台式机、电视）进行测试
   + 验证特定设备的广告响应
   + 使用不同的 IP 地址测试地理定位

1. 验证 CORS 的处理方式：
   + 测试 CORS 标头的网络播放器兼容性
   + 验证印前检查选项请求是否正常运行
   + 从不同的领域进行测试

**成功标准：**设备和地理位置定位应能正常运行，网络玩家不应遇到 CORS 错误。

## 第 5 阶段：全面的场景测试
<a name="phase5-comprehensive-testing"></a>

在多个场景中进行测试，以确保稳健运行。

1. 使用不同的玩家类型进行测试：
   + 网络浏览器中的 HLS.js 玩家
   + Video.js 支持 HLS 和 DASH 的玩家
   + 移动设备上的原生玩家
   + 智能电视和机顶盒播放器

1. 在不同的设备和平台上进行测试：
   + 移动设备（iOS、安卓）
   + 桌面浏览器（Chrome、火狐浏览器、Safari、Edge）
   + 智能 TVs 和流媒体设备
   + 不同的操作系统版本

1. 测试不同的内容类型：
   + 直播内容
   + 视频点播 (VOD) 内容
   + 不同的视频格式和比特率
   + 具有不同广告插播模式的内容

1. 测试广告定位场景：
   + 不同的受众特征定位参数
   + 跨不同地区的地理定位
   + 基于时间的定位（一天中的不同时间）
   + 自定义业务逻辑参数

**成功标准：**所有玩家和设备组合都应在适当的广告定位下正常运行。

## 第 6 阶段：负载和性能测试
<a name="phase6-load-performance-testing"></a>

在实际负载条件下验证性能。

**重要**  
在进行@@ **负载测试之前，请联系 [AWS S](https://aws.amazon.com/premiumsupport/) upport：**在进行负载和性能测试之前，请创建 AWS 支持票证，将您计划的测试通知 MediaTailor 服务团队。这可确保：  
该服务已准备好满足您的预期负载水平
在测试时段内有适当的容量可用
您的测试不会被误认为是生产事件
您将获得有关测试最佳实践和限制的指导
在您的支持请求中包括：预期的并发用户数、测试持续时间、地理区域以及您计划测试的任何特定场景。

1. 测试并发用户场景：
   + 模拟多个并发观看者
   + 测试 CDN 扩展和缓存性能
   + 监控负载下的源服务器性能
   + 验证是否 MediaTailor 可以处理并发会话

1. 衡量绩效指标：
   + 监控负载下的响应时间
   + 检查缓存命中率是否符合预期（热门内容的命中率> 80%）
   + 测量不同场景下第一帧的时间
   + 跟踪负载峰值期间的错误率

1. 测试故障转移场景：
   + 在 ADS 不可用时测试行为
   + 测试源服务器故障转移
   + 验证错误处理和恢复
   + 测试 CDN 边缘位置故障转移

**成功标准：**系统应在预期负载下保持可接受的性能，并在故障期间正常降级。在执行之前，请务必联系 [AWS Supp](https://aws.amazon.com/premiumsupport/) ort，他们会批准您的负载测试计划。

# CDN 和集成的部署前测试清单 MediaTailor
<a name="testing-checklist"></a>

AWS Elemental MediaTailor 在生产部署之前，内容分发网络 (CDN) 集成必须通过全面测试。在将配置更改部署到生产环境之前，请使用此清单。

**基本功能：**
+ ☐ 清单请求返回 HTTP 200 响应
+ ☐ 内容分段正确加载
+ ☐ 广告区段正确加载
+ ☐ 广告插播时间在预期的时间出现
+ ☐ 播放内容和广告之间平滑过渡

**配置验证：**
+ ☐ 查询参数已正确转发
+ ☐ 必填标题已正确转发
+ ☐ 清单缓存已禁用 (TTL = 0)
+ ☐ 区段缓存配置得当
+ ☐ CORS 标题是为网络播放器配置的

**跨平台测试：**
+ ☐ 已在移动设备上测试
+ ☐ 已在桌面浏览器上测试
+ ☐ 针对不同的玩家类型进行了测试
+ ☐ 测试了 HLS 和 DASH 格式

**性能验证：**
+ ☐ AWS 为负载测试批准而创建的 Support 票证
+ ☐ 响应时间达到绩效目标
+ ☐ 缓存命中率是可以接受的
+ ☐ 错误率在可接受的范围内
+ ☐ 已配置监控和警报

# CDN 和集成的测试工具和实用程序参考 MediaTailor
<a name="testing-tools-reference"></a>

AWS Elemental MediaTailor 内容分发网络 (CDN) 集成测试需要各种工具来进行全面的验证和调试。内容分发网络和 MediaTailor 集成测试中常用工具的参考指南。

`curl`-HTTP 请求测试  
测试清单请求：`curl -v "https://your-cdn-domain.com/v1/master/hls/config/master.m3u8"`  
使用标题进行测试：`curl -H "User-Agent: TestAgent/1.0" "https://your-cdn-domain.com/..."`  
使用参数进行测试：`curl "https://your-cdn-domain.com/...?aws.sessionId=test123"`

`ffprobe`-HLS 清单验证  
验证 HLS 语法：`ffprobe -v quiet -print_format json -show_format "https://your-cdn-domain.com/master.m3u8"`  
查看区段信息：`ffprobe -v quiet -show_entries packet=pts_time "segment.ts"`

`mp4box`-DASH 清单验证  
验证 DASH MPD：`mp4box -info "https://your-cdn-domain.com/manifest.mpd"`  
检查分段时间：`mp4box -info segment.m4s`

浏览器开发者工具  
在 “网络” 选项卡中监控网络请求  
在 “控制台” 选项卡中检查 CORS 错误  
检查 request/response 标题  
分析时间和性能指标

**其他资源：**
+ [故障排除 CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Troubleshooting.html)-全面的 CDN 故障排除指南
+ [提高 CloudFront 缓存命中率](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cache-hit-ratio.html)-性能优化指南
+ [监控 AWS 资源](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/monitor-aws-resources.html)-性能监控最佳实践