首页 > 解决方案 > Firebase 托管为 Cloud Run 增加了约 450 毫秒的延迟开销

问题描述

我有一个 Firebase 托管站点,该站点将/api路径映射到 Cloud Run 应用程序,如下所述:https ://firebase.google.com/docs/hosting/cloud-run

将通过 Firebase 托管访问我的 API 端点时获得的延迟与直接访问 Cloud Run 应用程序进行比较,Firebase 托管平均增加了 450 毫秒的延迟。该应用程序托管在 us-west1 中,我位于西雅图地区。

% hyperfine --warmup 3 'curl -H "Authorization: $AUTH" https://staging.radiopaper.com/api/exchange'
Benchmark #1: curl -H "Authorization: $AUTH" https://staging.radiopaper.com/api/exchange
  Time (mean ± σ):     660.9 ms ±  85.2 ms    [User: 25.0 ms, System: 10.5 ms]
  Range (min … max):   575.5 ms … 856.9 ms    10 runs

对比

% hyperfine --warmup 3 'curl -H "Authorization: $AUTH" https://api-server-klkjcchm4q-uc.a.run.app/api/exchange'
Benchmark #1: curl -H "Authorization: $AUTH" https://api-server-klkjcchm4q-uc.a.run.app/api/exchange
  Time (mean ± σ):     212.5 ms ±  72.7 ms    [User: 27.8 ms, System: 9.9 ms]
  Range (min … max):   124.3 ms … 325.6 ms    11 runs

这是预期的行为吗?如果是这样,那么在与静态内容相同的域上运行 Cloud Run 应用程序对我来说没有多大意义。

标签: firebase-hostinggoogle-cloud-run

解决方案


这绝对不是预期的行为,但它可能由于多种原因而发生。原因之一可能是 Firebase 托管的来源在收到请求后必须返回到 Cloud Run,因此通过 Firebase 托管的路由涉及多个跃点。我们正在努力使这变得更好,但还没有任何具体的内容可以分享。

GCP 支持在这里!如果您想对此进行分类,我们将需要具体的详细信息来找到根本原因,因此我建议您直接向 GCP 支持提出请求。如果您没有支持合同,可以联系免费的Firebase 支持


推荐阅读