Java AmazondynamodBlent实例化延迟
我正在用Java创建AWS Lambda函数来访问DynamoDB表。我注意到AmazonDynamoDBClent实例化有时需要几秒钟——通常是在我有一段时间没有调用lambda函数之后 通常情况下,当我连续向Lambda发送多个请求时,我会等待大约10秒的第一个响应,然后等待不到一秒的任何后续调用。但这并不是一个规则——有时中间的一些请求也很慢。 我尝试了几个AmazonDynamoDBClent,有没有参数,没有发现任何区别Java AmazondynamodBlent实例化延迟,java,amazon-web-services,lambda,amazon-dynamodb,Java,Amazon Web Services,Lambda,Amazon Dynamodb,我正在用Java创建AWS Lambda函数来访问DynamoDB表。我注意到AmazonDynamoDBClent实例化有时需要几秒钟——通常是在我有一段时间没有调用lambda函数之后 通常情况下,当我连续向Lambda发送多个请求时,我会等待大约10秒的第一个响应,然后等待不到一秒的任何后续调用。但这并不是一个规则——有时中间的一些请求也很慢。 我尝试了几个AmazonDynamoDBClent,有没有参数,没有发现任何区别 有没有关于如何消除这种延迟的提示?有什么要用DynamoDB配置
有没有关于如何消除这种延迟的提示?有什么要用DynamoDB配置的吗?Lambda?定期执行NO-OP将有助于使Lambda功能保持温暖。由newrelic执行的操作表明,每隔1到10分钟调用函数就足以避免频繁的冷启动。即使您的函数对负载的响应是热的 其他需要改进延迟的地方包括Lambda函数的CPU/内存占用、可执行程序包的大小、运行时和其他无害的网络请求 上面的和newrelic文章中的交互表明,增加Lambda函数容器的CPU/内存大小是控制和减少延迟的另一个好方法 在构建zip/jar时,您是依赖于整个SDK还是仅依赖于DynamoDB SDK?为尽可能小的包剔除不必要的依赖项。此外,如果您只需要一个函数就可以从库中获得所需的数据,那么积极地对代码进行后移植是减少包大小的另一种方法 若应用程序允许,Python和NodeJS运行时的延迟可能会更低 最后,如果您试图从其他服务(如S3中的文件)读取lambda的配置,您可以采取以下步骤来缩短lambda函数的设置时间:
定期执行NO-OP将有助于使Lambda函数保持温暖。由newrelic执行的操作表明,每隔1到10分钟调用函数就足以避免频繁的冷启动。即使您的函数对负载的响应是热的 其他需要改进延迟的地方包括Lambda函数的CPU/内存占用、可执行程序包的大小、运行时和其他无害的网络请求 上面的和newrelic文章中的交互表明,增加Lambda函数容器的CPU/内存大小是控制和减少延迟的另一个好方法 在构建zip/jar时,您是依赖于整个SDK还是仅依赖于DynamoDB SDK?为尽可能小的包剔除不必要的依赖项。此外,如果您只需要一个函数就可以从库中获得所需的数据,那么积极地对代码进行后移植是减少包大小的另一种方法 若应用程序允许,Python和NodeJS运行时的延迟可能会更低 最后,如果您试图从其他服务(如S3中的文件)读取lambda的配置,您可以采取以下步骤来缩短lambda函数的设置时间:
谢谢你的回复!是的,切换到NodeJS和更频繁地呼叫lambda有很大帮助。我将尝试使用CPU/内存,看看它是否有显著的不同。感谢您的回复!是的,切换到NodeJS和更频繁地呼叫lambda有很大帮助。我将尝试使用CPU/内存,看看它是否有显著的区别。