0

我们正在尝试找出 Google CDN 延迟高的原因。

我们的网站位于 Google 的 http_load_balancer 后面,并开启了 CDN。

例如,通过检查 jpg 文件 (43Kb) 的示例 GET 请求,我们可以从 http_load_balancer 日志中看到大约 30% 的此类请求的httpRequest.latency时间 > 1 秒,而且很多请求需要更长的时间,例如几秒或几百秒...... .

这只是通过查看 24 小时日志样本(大约 6K 相同的请求)。

所有这些请求的httpRequest.cacheLookup和是. 也是,值显示正确的区域。httpRequest.cacheHittruejsonpayload_type_loadbalancerlogentry.statusdetailsresponse_from_cachejsonpayload_type_loadbalancerlogentry.cacheid

当在浏览器中手动执行相同的 GET 请求时,我们会在 15-20 毫秒左右获得 TTFB 的预期结果。

知道在哪里寻找线索吗?

4

2 回答 2

1

httpRequest.latency字段测量整个下载持续时间,并直接受到慢速客户端的影响 - 例如拥塞网络上的移动设备或受限制的数据计划。

您可以通过查看frontend_tcp_rttCloud Monitoring 中的指标(即客户端和 Cloud CDN 之间的 RTT)以及平均值、中位数和 90th percentile来检查这一点total_latencies,其中慢速客户端将显示为异常值:https:// cloud.google.com/load-balancing/docs/https/https-logging-monitoring#monitoring_metrics_fors

您可能会发现慢客户端来自特定的client_country值组。

于 2020-12-20T23:29:36.417 回答
0

可以引入延迟:

  • 在原始客户端和负载均衡器之间。您可以使用 metric 查看该段的延迟https/frontend_tcp_rtt
  • 在负载均衡器和后端实例之间。可以使用指标来查看https/backend_latencies(该指标还包括后端的应用程序处理时间)。
  • 由实例本身上运行的软件。为了对此进行调查,我将检查后端实例软件的访问/错误日志以及 VM 实例的资源利用率。

有关GCP 负载平衡器指标文档的指标描述的更多信息。

httpRequest.latency日志字段描述:“服务器上的请求处理延迟,从收到请求到发送响应。”

于 2020-12-25T13:36:04.397 回答