【问题标题】:Latency in calls to Google Cloud APIs from Cloud Run instance从 Cloud Run 实例调用 Google Cloud API 的延迟
【发布时间】:2021-12-11 21:50:24
【问题描述】:

当我出于某种原因从 Cloud Run 实例调用其他云 API 时,响应会出现巨大延迟。 一切都在 1 个项目中运行。 即使从本地机器调用也更快(几秒) - 但部署在云中,一些请求需要几分钟才能完成。正如我所见,它与所有 API 相关(除了 Firestore、Translate 和 TTS API)。这肯定与冷启动无关。

代码示例(Node JS)和日志如下:

console.log('Received the request for stats');
const usersCollection = this.firestore.collection('users')
const snapshot = await this.usersCollection.get();
console.log('Fetched all users from Firestore');

【问题讨论】:

    标签: google-cloud-platform google-cloud-firestore google-cloud-run


    【解决方案1】:

    经过进一步调查,我发现了问题所在。 问题是我执行的所有操作都不是在发送响应之前而是在之后(这是聊天机器人的架构方式)。 所以流程看起来像这样:

    1. request to do smth - 请求被接受的响应 200
    2. 所有业务逻辑和工作
    3. 聊天机器人发送带有结果的消息

    根据文档,默认情况下,CPU 仅在请求处理期间分配,所以我唯一需要更改的是为后台活动启用 CPU 分配:https://cloud.google.com/run/docs/tips/general#background-activity

    【讨论】:

      猜你喜欢
      • 2021-01-08
      • 2021-12-29
      • 2021-11-10
      • 2021-12-25
      • 2021-05-26
      • 2020-07-14
      • 2019-09-16
      • 2020-04-05
      • 1970-01-01
      相关资源
      最近更新 更多