0

我们正在使用 Cloud Tasks 调用“本地”API 网关(使用 Http 请求)。这个 API 网关 (IBM API Connect) 位于本地系统 (Oracle) 的前面。这个后端系统有时会很慢。>5s。

我们拼命尝试增加吞吐量,但“调整”云任务队列设置(如 -max-dispatches-per-second 等)。 gcloud tasks queues update queue-1 --max-dispatches-per-second=8 --max-concurrent-dispatches=16

但是,当我们“启动”云任务设置时,我们看到的只是那个黄色三角形告诉我们,由于“系统资源”,我们被“强制”降低了速率。

我的理解是,黄色三角形的出现是由于我们调用的 API 网关的“错误”。基本上,GCP/Cloud Tasks 根据来自我们正在调用的 API 端点的返回码/错误/超时/延迟等“自行”重新行动,结果是速率/直通率非常低。这种理解正确吗?有人可以验证吗?

GUI 确实说“或者因为当前没有可用于执行请求的实例”。他们在谈论什么实例?所以对我来说,这意味着有可能是“GCP 特定”资源出现在这里并对“强制执行率”产生影响?或者?

无论如何,任何帮助/见解将不胜感激。

谢谢

4

1 回答 1

2

您看到的错误消息可能由您提到的 2 件事中的任何一个提示:“强制费率”或“请求时缺少 GCP 资源”。

Cloud 任务所指的“强制费率”就是这里提到的那些。正如您所提到的,这是由于服务器过载并返回太多错误。发生这种情况时,云任务会自行运行,并会减慢执行速度,直到错误停止。

您看到的“当前没有可用于执行请求的实例”消息是 GCP 没有资源来创建请求。请记住,云任务是一项托管服务,因此这意味着请求是由 GCP 完全托管的计算引擎实例创建的。这有点罕见,尽管它确实不时发生。

为了确定这两个问题中的哪一个是您遇到的问题,我建议您检查您的 Stackdriver 日志,看看您是否在 Cloud Tasks 过滤器上遇到大量错误,就好像这种情况一样,您很可能会遇到“强制费率”领域。

希望你觉得这个有用!

于 2020-06-12T14:14:24.473 回答