firebase-hosting - 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 托管的来源在收到请求后必须返回到 Cloud Run,因此通过 Firebase 托管的路由涉及多个跃点。我们正在努力使这变得更好,但还没有任何具体的内容可以分享。
GCP 支持在这里!如果您想对此进行分类,我们将需要具体的详细信息来找到根本原因,因此我建议您直接向 GCP 支持提出请求。如果您没有支持合同,可以联系免费的Firebase 支持。
推荐阅读
- r - 负二项式回归的问题
- maven - 如何使用 github 中的“Reusing Workflows”功能?
- c# - 无法使用 Azure.Storage.Blobs NuGet 包将文件上传到 Azure Blob 存储
- java - 查找最近的点 - Java
- mql4 - MQL5 从函数返回并获取结构结果
- python - 如何链接 Sphinx 表中的函数?
- python - ModuleNotFoundError:没有名为“jmetal”的模块
- reactjs - Firebase 存储安全错误 - 错误地标记为网络钓鱼
- python - 如何修复 FileNotFoundError:[Errno 2] 没有这样的文件或目录:没有
- python - psycopg2从python字符串传递时间戳