【问题标题】:Why is Google Cloud Tasks so slow?为什么 Google Cloud Tasks 这么慢?
【发布时间】:2019-08-17 17:24:58
【问题描述】:

我将 Google Cloud Tasks 与 AppEngine 结合使用来处理任务,但任务在队列中等待大约 2-3 分钟后才会发送到我的 App Engine 端点。

任务没有设置“延迟”,我希望它们会立即发送。

所以问题是:Cloud Tasks 慢吗?

如您所见,如下截图所示,Cloud Tasks 给出的 ETA 约为 3 分钟:

【问题讨论】:

  • 云任务只有在我们继续向它发送 5xx 并且它回退时才会慢,否则,最大速率对于达到最大并发(加速度与速度之类的东西)至关重要。最大速率是您提升到最大并发的速度,如果太慢,则可能永远无法达到最大并发。

标签: google-app-engine google-cloud-platform google-cloud-tasks


【解决方案1】:

Google 的官方说法是,这是您可以从他们的任务队列中获得的最好的结果。

根据我的经验,您配置任务的方式似乎会影响它们的执行速度。

看来:

  • 如果您不更改任务队列的默认行为(例如,最大并发等)并且如果您不指定任务的执行时间(例如,eta),那么您的任务将很快执行提交后。
  • 如果您搞砸了这两件事中的任何一个,那么 Google 需要更长的时间来执行您的任务。我的猜测是,这是控制任务速率和执行的额外开销。

【讨论】:

  • 感谢您提供的详细信息,我将尝试使用设置,看看是否可以调整延迟!
【解决方案2】:

我从您的屏幕截图中看到,您有一个 ETA 为 2 分 49 秒的任务,这是您的任务将运行的时间。您有 桶大小和并发数,所以我认为您的问题更多地与您在排队任务时使用的参数有关,尤其是 scheduled_time 属性。检查您的代码,看看您是否给任务添加了延迟,并确保将其调低。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    • 2016-09-28
    • 2020-02-08
    • 2012-07-17
    • 2011-11-07
    • 2015-08-24
    相关资源
    最近更新 更多