本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
负载测试 CloudFront
传统的负载测试方法不太适用, CloudFront 因为 CloudFront 使用 DNS 在地理上分散的边缘位置和每个边缘位置内平衡负载。当客户端向其请求内容时 CloudFront,该客户端会收到包含一组 IP 地址的 DNS 响应。如果您通过向 DNS 返回的其中一个 IP 地址发送请求来进行测试,则只是在一个 CloudFront 边缘位置测试一小部分资源,这并不能准确代表实际的流量模式。根据请求的数据量,以这种方式进行测试可能会使一小部分 CloudFront 服务器过载并降低其性能。
CloudFront 旨在针对在多个地理区域拥有不同客户端 IP 地址和不同 DNS 解析器的观看者进行扩展。要执行能准确评估 CloudFront 性能的负载测试,我们建议您执行以下所有操作:
从多个地理区域发送客户端请求。
配置您的测试,以使每个客户端作出独立的 DNS 请求;然后每个客户端将从 DNS 接收一组不同的 IP 地址。
对于每个发出请求的客户端,将您的客户端请求分散在 DNS 返回的一组 IP 地址中,这样可以确保负载分布在 CloudFront 边缘位置的多台服务器上。
请注意负载测试的以下限制 CloudFront:
-
不允许对包含 Lambda@Edge 查看者请求或响应触发器的缓存行为进行负载测试。
-
不允许对已启用 Origin Shield 的源进行负载测试。