如果我创建一个Google Cloud Function并为其分配256 MB,这是否意味着该函数创建的每个实例都可以访问那么多的RAM,或者这意味着所有创建的函数实例都必须共享这些RAM? 256 MB吗?
对于可伸缩产品而言,后者几乎没有意义,但是我感到我的功能在不应该占用大量内存的任务上很快就会耗尽内存。
答案 0 :(得分:3)
Cloud Functions不能在给定实例上同时运行。因此,假设您同时有2个请求,将产生2个实例来处理这些请求,每个实例将有256 MB。如果收到第三个请求,并且先前的请求之一已完成,则Cloud Functions可以重用正在运行的实例并将该请求路由到该实例。
您的函数可能未正确使用全局变量。或者,您可能正在将文件写入/tmp
文件夹,而写入该卷的数据是stored in memory as explained in another answer(然后应在每个函数结束之前删除该文件)。您可以查看Cloud Function Tips documentations了解一些优化细节。