Java AWS Lambdas中的休眠导致启动缓慢
我有一些AWS Lambda函数来执行数据库CRUD操作。我有大约20个持久类。我的应用程序是基于Spring的,使用Hibernate作为ORM 分配1536MB后,我的函数从冷启动开始运行大约需要16秒。根据日志,大部分时间是Hibernate解析我的Java AWS Lambdas中的休眠导致启动缓慢,java,hibernate,aws-lambda,hibernate-mapping,Java,Hibernate,Aws Lambda,Hibernate Mapping,我有一些AWS Lambda函数来执行数据库CRUD操作。我有大约20个持久类。我的应用程序是基于Spring的,使用Hibernate作为ORM 分配1536MB后,我的函数从冷启动开始运行大约需要16秒。根据日志,大部分时间是Hibernate解析我的hbm.xml文件,构建LoadPlans,并通常处理元数据 因为16秒的响应时间太长了,我需要一些方法来加快速度。有没有办法推迟Hibernate的元数据解析或在编译时进行 我看了一下生成器,但它似乎是为了在运行时构建查询而设计的 分配153
hbm.xml
文件,构建LoadPlans
,并通常处理元数据
因为16秒的响应时间太长了,我需要一些方法来加快速度。有没有办法推迟Hibernate的元数据解析或在编译时进行
我看了一下生成器,但它似乎是为了在运行时构建查询而设计的
分配1536MB后,我的函数从冷启动开始运行大约需要16秒。根据日志,大部分时间是Hibernate解析我的hbm.xml文件、构建加载计划,以及处理元数据
不应该花那么多时间。我认为原因是另一个。可能已启用Hibernate架构验证。使用cloudWatch触发lambda是一种解决方案,在第一次冷启动后,它将在距离上次执行约40分钟的时间内“运行”,只需为lambda设置每30-40分钟一次的触发事件。除非默认情况下启用架构验证,否则我不会打开它。此外,如果删除数据库连接字符串,它只会在这次结束时崩溃。记住,lambda不是很强大。在我的开发机器上,该函数只需7秒钟。