【发布时间】:2021-11-19 05:09:26
【问题描述】:
我有一个 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 应用程序对我来说没有多大意义。
【问题讨论】:
-
这绝对不是预期的行为,但它可能由于多种原因而发生。我认为在 stackoverflow 上对这个问题没有太大帮助,因此我建议您直接向 GCP 支持提出请求。如果您没有支持合同,可以免费联系Firebase support。
-
您可能希望使用默认的 Firebase 域“*.firebaseapp.com”进行测试,以过滤出与 DNS 提供商有关的任何问题。
-
@GouravB,我用 firebase 托管域重复了实验,同样的 ~400ms 差异。
-
@ZeenathSN,听起来不错 - 我将整理一组最少的步骤来使用标准的“echo-server”测试容器进行重现并提交错误。
标签: firebase-hosting google-cloud-run