Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS Lambda';完整';vs';增量';冷启动?_Amazon Web Services_Aws Lambda - Fatal编程技术网

Amazon web services AWS Lambda';完整';vs';增量';冷启动?

Amazon web services AWS Lambda';完整';vs';增量';冷启动?,amazon-web-services,aws-lambda,Amazon Web Services,Aws Lambda,我正在研究冷启动问题,我的印象是: “完全”冷启动,即从0变为1个活动实例 “增量”冷启动,即从n个活动实例变为n+1个活动实例 然而,准确地测试“增量”场景是相当困难的 有谁能证实我的印象,并可能解释为什么会有差异?当内存中没有包含Lambda的实例时,AWS不知道将需要一个实例,这就是为什么第一次冷启动需要更长时间。如果Lambda已经加载,AWS可以预测将需要一个新实例。因此,它预先准备一个新实例,然后将请求分发到该实例。因此,您的观察是正确的,冷启动仅适用于活动为零的函数。易于测试,

我正在研究冷启动问题,我的印象是:

  • “完全”冷启动,即从0变为1个活动实例
  • “增量”冷启动,即从n个活动实例变为n+1个活动实例
然而,准确地测试“增量”场景是相当困难的


有谁能证实我的印象,并可能解释为什么会有差异?

当内存中没有包含Lambda的实例时,AWS不知道将需要一个实例,这就是为什么第一次冷启动需要更长时间。如果Lambda已经加载,AWS可以预测将需要一个新实例。因此,它预先准备一个新实例,然后将请求分发到该实例。因此,您的观察是正确的,冷启动仅适用于活动为零的函数。

易于测试,编写Jmeter测试并以较小的延迟(50毫秒)触发请求。在几个小时不活动后重复。也许最好让它在我的测试中运行一个周末,冷启动的持续时间会增加,然后稳定下来(尽管我在一些重web框架和zappa中使用了python)。如果需要,可以添加日志。

您在哪里看到这两种情况的不同?这就是为什么我说这是一种“印象”。我发现很难准确地测试这一点。到目前为止,我只看到在一段时间的不活动之后出现了长时间的延迟,而不是在有大量活动的情况下——尽管有时应该启动额外的实例。但我真正想要的是理解冷启动行为,所以如果你知道/相信我的印象一定是假的,我很高兴听到!你用哪种语言?通常只有Java人才会受到Lambda容器启动时间的影响。冷启动的执行时间为4s,而通常为1s。没有Java那么高,但是对于交互场景来说太高了,并且在一个冷lambda可能调用另一个冷lambda的情况下有问题……这听起来是一个非常合理的解释,谢谢!只是好奇:你知道它是这样的吗,还是你根据自己的推理/观察得出的?我在进行了大量负载测试后得出了这个结论。但是AWS没有证实。不是真的。尝试使用Jmeter同时发出10个请求的脚本。在我的实验中,第一次和第二次请求持续时间的差异会增加,然后趋于稳定。