我看到来自 Amazon CloudFront 的响应延迟增加了。我想确定原因并减少延迟。
简短描述
要对 CloudFront 的延迟进行故障排除,请确定导致延迟的事件。然后,按照这些故障排除步骤来减少延迟。
解决方法
确定导致延迟的事件
完成以下步骤:
- 运行以下 curl 命令:
curl -w "DNS_resolution: %{time_namelookup}| TCP_negotiation_time: %{time_connect}| SSL_negotiation_time: %{time_appconnect}| TTFB: %{time_starttransfer}| Total time: %{time_total} \n" -o /dev/null -vsL https://www.example.com
注意: 请将 example.com 替换为您的 CloudFront 域名或备用域名 (CNAME) 和 URL 路径。
- 在 Web 浏览器的开发人员工具中查看网络请求的每个阶段所花费的时间。例如,如果您使用 Mozilla Firefox,请查看 Timings 选项卡。有关详细信息,请参阅 Firefox 网站上的 Timings 选项卡。如果您过去曾观察到延迟,请在 CloudFront 访问日志中勾选 time-taken 和 time-to-first-byte 字段。CloudFront 访问日志不会记录客户端进行 DNS 查询过程以及 TCP 和 SSL/TLS 协商所花费的时间。
减少 DNS 解析的延迟
完成以下步骤:
- 增加客户端 DNS 中的 DNS 缓存时间。
- 增加本地 DNS 服务器中缓存的生存时间 (TTL)。
- 增加 DNS 注册商中 DNS 记录的 TTL。
- 如果您的互联网服务提供商的解析器 DNS 服务器导致延迟,请使用公共 DNS 服务器。
减少 TCP 和 SSL/TLS 协商时间中的延迟
完成以下步骤:
注意: 请将 example.com 替换为您的域名。
减少 TTFB、TTL 和 RTT 中的延迟
完成以下步骤以减少首字节所用时间 (TTFB)、所用总时间 (TTL)、往返时间 (RTT) 中的延迟。
CloudFront 返回“X-Cache: Hit from cloudfront”响应值
当请求来自最近的边缘站点时,CloudFront 将返回“X-Cache:Hit from cloudfront”。要减少延迟,请完成以下步骤:
CloudFront 返回“X-Cache: Miss from cloudfront”响应值
当请求转到来源时,CloudFront 将返回“X-Cache:Miss from cloudfront”。要减少延迟,请完成以下步骤:
相关信息
如何减少由于 CloudFront 的缓慢响应造成的延迟?
要诊断 CloudFront Web 分配延迟问题,我需要向 AWS Support 提供哪些信息?