我有一个用Python编写的lambda函数,它使用了几个重量级的依赖项(NumPy,pandas,goodtables等),并且还连接到了VPC(用于访问Postgres RDS实例)
一段时间(> 4-6小时)后执行此功能的冷启动执行时间非常长(16.2秒)
但是,如果我更新功能代码并再次调用它(第一次执行后不久),则冷启动执行时间将大大减少(3秒)
如果我再次调用该函数而不对其进行更新,因此它是一个热启动,则执行时间将进一步减少(313毫秒)
我怀疑第一次冷启动(16.2秒)是Lambda设置用于访问VPC资源的ENI,并且在第二次冷启动(3秒)期间重用了ENI,因此避免了重新创建ENI所花费的时间。
我正在尝试优化此功能的冷启动时间,并希望它从头开始以查看在完全冷启动(即无ENI +冷启动)时可以执行多快。
有没有办法重复执行此操作?
最佳答案
您可以向上切换内存,保存并再次重置。
您还可以添加新的环境变量。
这将强制处置所有现有的温暖的lambda,并在下次调用lambda时进行新的冷启动。
关于amazon-web-services - 如何在VPC上强制完全冷启动AWS Lambda函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55206348/