

# 对 CloudFront 进行负载测试
<a name="load-testing"></a>

传统的负载测试方法不能很好地与 CloudFront 一起使用，因为 CloudFront 使用 DNS 平衡跨越地理上分散的边缘站点的负载和每个边缘站点内的负载。当客户端从 CloudFront 请求内容时，客户端收到包含一组 IP 地址的 DNS 响应。如果您采用的测试方法是只向 DNS 返回的其中一个 IP 地址发送请求，那么您测试的仅仅是一个 CloudFront 边缘站点中的一小部分资源，这并不能准确体现实际的流量规律。根据所请求的数据量，以这种方式进行测试可能会造成这一小部分 CloudFront 服务器超载且性能下降。

CloudFront 的设计旨在扩展在多个地理区域具有不同客户端 IP 地址和不同 DNS 分解器的查看器。要执行准确评估 CloudFront 性能的负载测试，建议您执行以下所有操作：
+ 从多个地理区域发送客户端请求。
+ 配置您的测试，让每个客户端发出独立的 DNS 请求。然后，每个客户端从 DNS 接收一组不同的 IP 地址。
+ 对于每个发出请求的客户端，将客户端请求分布在 DNS 返回的一组 IP 地址上。这样可以确保将负载分布在 CloudFront 边缘站点中的多个服务器上。

**备注**  
不允许对包含 Lambda@Edge [查看器请求或查看器响应触发器](lambda-cloudfront-trigger-events.md)的缓存行为进行负载测试。
不允许对已启用 [Origin Shield](origin-shield.md) 的源进行负载测试。