我告诉一个朋友,使用 lambda 函数运行负载的一个优点是每个实例,因此每次执行,都会获得专用资源 - 内存和 CPU(也许还有磁盘、网络,......但这不太相关)。然后我开始怀疑...
例如,如果您有一个函数具有一些由多个租户使用的 CPU 密集型逻辑,那么一个执行永远不会受到另一个执行的影响。如果某个计算需要 5 秒来执行,那么无论同时处理多少个请求,它总是需要 5 秒。
这对于内存来说似乎是不言而喻的,但对于 CPU 来说则不然。通过快速测试,我似乎得到了喜忧参半的结果。
那么,每个函数实例都有自己的 CPU 专用资源吗?
我的主要关注点是 AWS Lambda,但同样的问题出现在 Azure(我猜是在消费计划上)和谷歌。