云任务和强制执行率

时间:2020-06-12 07:25:16

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

我们正在使用Cloud Tasks调用“本地” API网关(使用Http请求)。该API网关(IBM API Connect)位于本地系统(Oracle)的前面。该后端系统有时可能非常慢。 > 5秒。

我们拼命地尝试提高吞吐量,但“调整”了Cloud Task队列设置(例如-max-dispatches-per-second等)。 gcloud tasks queues update queue-1 --max-dispatches-per-second=8 --max-concurrent-dispatches=16

但是,当我们“启动” Cloud Task设置时,我们所看到的只是黄色三角形,告诉我们由于“系统资源”而被“强制”降低费率。

我的理解是,由于我们调用的API网关出现“错误”,因此出现了黄色三角形。基本上,GCP /云任务会根据返回的代码/错误/超时/等待时间等从我们调用的API端点“自行”进行响应,从而产生非常低的速率/吞吐量。这种理解正确吗?有人可以验证吗?

GUI确实说“或者因为当前没有可用的实例来执行请求”。他们在说什么情况?因此,对我来说,这意味着“ GCP专用”资源可能会出现在此处,并会对“强制执行率”产生影响吗?还是?

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

谢谢

1 个答案:

答案 0 :(得分:1)

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

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

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

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

希望您觉得这有用!