超过Cloud Function CPUMilliSeconds配额

问题描述 投票:0回答:1

我在golang Cloud Function错误中注意到了很多数字:

Error: quota exceeded (Quota exceeded for quota group 'CPUMilliSeconds' and limit 'CPU allocation in function invocations for us-central1 per 100 seconds' of service

奇怪的是,我的每秒调用次数不超过60次,并且有30个活动实例云功能在高峰期运行。

据我所知,您最多可以有1,000个并发实例,在我的情况下,这要达到CPU限制已经很远了30个。

Cloud function quota here

控制云功能CPU执行的最佳方法是什么?

您是否建议使用CloudRun代替Cloud Functions来执行更多的CPU“需求任务”?

go google-cloud-functions serverless-framework google-cloud-run
1个回答
0
投票
Google Cloud Functions的配额限制之一是GHz-seconds,这表示所有正在运行的功能消耗的CPU秒总数,当您在100秒的时间内达到该配额时,会出现错误。由于您的函数承担着计算量大的工作量,因此更容易达到极限。

关于如何控制CPU使用率的唯一方法是延迟您的请求,以将使用率保持在这些限制以下。另一种选择是给函数较少的memory,这反而会适得其反,因为您的函数将花费更长的时间,并且无论如何您都可能遇到相同的麻烦。

正如Doug指出的那样,Cloud Functions不适用于您的用例,Cloud Run都不适用。 GCE实例更适合进行计算密集型操作,因为它没有内存限制,但是提供了您所提供的数量,它们还允许在Container Optimized OS中运行容器化的代码。

希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.