问题标签 [cold-start]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
768 浏览

python - AWS Lambda python函数的长时间冷启动

我已经使用 Zappa 将一个非常简单的烧瓶函数(即两个简单的路由链接到一个 sql 查询并将它们转换为一个表)转换为一个 Lambda 函数。部署的功能约为 20MB。因为流量会非常低,所以我没有为我的功能使用任何预热机制。

该函数只需要 128MB 内存,在之前的所有实例都已销毁的情况下运行此函数时,冷启动大约需要 16 秒。

从直觉上看,这似乎很长一段时间,而我读过的内容(例如,此处)表明,不在VPC 中的 python 函数对于冷启动的延迟相对较低。

如果我向函数添加内存,冷启动时间似乎会线性减少。这再次与我读过的内容(例如如上所述)相冲突,因为内存不是冷启动延迟的问题。这是我的调用时间表: 在此处输入图像描述

我应该对这些结果感到惊讶还是我错过了什么?

谢谢

斯蒂芬

0 投票
1 回答
30 浏览

recommendation-engine - 为使用用户评分的推荐系统寻找预训练的神经网络

我在构建餐厅推荐系统方面起步较晚,找不到可以直接使用或通过迁移学习使用的预训练模型

0 投票
1 回答
2266 浏览

java - 春季启动的 AWS Lambda 冷启动问题

我是 aws lambda 的新手,我正在将基于 spring boot 2.x 的项目转移到 lambda。但我在 lambda 冷启动和热身方面遇到了困难。我尝试了这个链接中提到的一些东西:https://github.com/awslabs/aws-serverless-java-container/wiki/Quick-start---Spring-Boot,但应用程序仍然需要大约 45 秒才能启动.

我尝试过的事情:

  1. 来自上述链接的异步初始化。它确实有所帮助,但还不够。

  2. 跳过 lambda 的 Init 阶段。它帮助减少了近 8 秒。

  3. 预置并发,但据我所知,它也无济于事。当我看到日志时,每次都会初始化 spring 上下文,如果有任何请求在 15-20 分钟的间隔后出现。

我的 lambda 在不同场景下的响应时间是:

为了减少此响应时间,我正在考虑每 5 或 10 分钟对我的 lambda 进行一次 REST 调用,以便将 spring 上下文保留在内存中,从而有助于更快地处理请求。这个调用就像一个健康检查调用,几乎没有处理。

这是一个可取的方法吗?或者有没有更好的方法来实现这个目标?

我不清楚 AWS 在这种情况下是否会收费。

0 投票
2 回答
604 浏览

android - Android 使用 Firebase 缓慢冷启动

我觉得我的应用程序冷启动很慢,并且当 Firebase Performance 提到这一点时更加确定。

我使用 logcatDisplayed进行了初步比较,显示在我的三星 Galaxy S8 上:

这是通过按下playAndroid Studio 上的按钮>>从我的手机关闭应用程序在我的手机>>中再次打开它(即不使用 android studio)复制的

与已知应用程序相比,大约 400 毫秒的快速应用程序和较慢的应用程序(例如 Whatsapp 和 facebook)是 1 秒,所以 2 秒很多!

我花了将近 2 天的时间,最终找到了以下内容,

如果我正在制作一个简单的Hello World应用程序,冷启动时间约为 0.660 秒,这对于一个什么都不做的应用程序来说是很多的,而与发布的应用程序相比,它只需 0.350 秒

如果我在 gradle 中添加接下来的 4 行(没有任何额外的代码!)

冷启动提升到 1.2s 左右,甚至超过了 Whatsapp 和 Facebook

这么简单的代码冷启动怎么这么慢?我错过了 Android Studio 中的任何设置吗?也许是清单或gradle?我能做些什么来改善它?

带有firebase gradle实现的Hello World

0 投票
0 回答
250 浏览

android - Android 冷启动时间

打开我的应用程序时,白屏显示大约 2 秒钟,然后显示我的启动屏幕,然后再需要 2 秒钟才能进入主要活动。这确实在我的应用程序上做了一些糟糕的用户体验。

我相信 android 在实际显示我的启动屏幕之前会执行一个冷启动,它会显示一个虚拟的白色活动。

我阅读了许多用户建议在应用主题中放置<item name="android:windowDisablePreview">true</item>或 放置的帖子,<item name="android:windowIsTranslucent">true</item>但这对我不起作用。它只是让应用看起来需要更多时间来加载。

但是,有一些应用程序(如 Instagram 和 AliExpress)用自己的方式绕过了虚拟白活动,如下所示:

在此处输入图像描述

有没有办法用我的初始屏幕替换虚拟白色活动?

如果是这样,请您分享我可以参考的代码或链接。

感谢您的帮助。

0 投票
0 回答
221 浏览

nativescript - 如何处理 NativeScript 中的冷启动并像“后退按钮”一样退出应用程序?

我的 NativeScript 应用程序在第一次启动时出现问题。我知道存在“冷启动”,但每次单击设备上的主页按钮然后返回应用程序时,活动都会重复。这是一个大错误(内存泄漏、重复请求、奇怪的 UI 体验,因为用户单击后退按钮并看到相同的页面)。

据我所知,这是一个旧的 android 错误。第一个提到的关于这个的错误是从 2009 年开始的,所以我不能指望谷歌会很快修复它;)

https://issuetracker.google.com/issues/64108432

https://discourse.nativescript.org/t/kill-app-when-pushed-to-background/3560

我想要做的是在应用程序第一次启动时调用“后退按钮”,因为在此之后,应用程序可以正常工作。我发现我可以使用 android.foregroundActivity.finish(),但是当我尝试这样做时,我收到一条错误消息

试过:

找到了foregroundActivity,但没有找到finish()。我也试过 android.os.Process.killProcess(android.os.Process.myPid()); 但没有像'android.os'这样的属性:/

知道如何正确使用它吗?或者也许有另一种选择来处理这个问题?整个 main.tns.ts 文件如下:

编辑:我在操场上创建了一个项目,有趣的是,如果你通过操场(在线预览)运行这个项目,它工作正常。但是,如果您下载该项目,然后使用 tns run android 运行该项目(使用 tns preview 它也可以正常工作),您将看到我在说什么:

https://play.nativescript.org/?template=play-ng&id=MxBIfX&v=2

我录制了视频: https: //www.youtube.com/embed/DJETWEd3EaY

我发现https://www.nativescript.org/blog/nativescript-preview和“由于预览命令跳过了构建本机应用程序的步骤,因此通常需要重建本机应用程序的任何东西都是限制所在。 ”所以也许这就是在线预览(tns 预览)工作方式不同的原因。

0 投票
2 回答
140 浏览

azure - 如何在 Azure Functions 和专用应用服务 VM 之间进行身份验证

我有一个Function在消费计划中运行的应用程序。我在 Windows 上启用ReadyToRun了编译并以 x64 为目标。问题是 bin 文件夹有许多 dll,总大小为 90 MB。我想尽可能减少冷启动时间。

我正在考虑利用多个应用程序(通过添加多个函数应用程序或专用 VM 来处理很少使用的逻辑)。是否有任何关于如何在多个应用程序之间进行身份验证的 MS 文档?我的函数应用程序现在正在使用 JWT 的自定义身份验证。通过主应用程序对用户进行身份验证后,我正在考虑在其他应用程序中调用 REST API。

0 投票
1 回答
100 浏览

azure - 所有 DLL 是否都存储在 Azure Function 应用中的 HDD 或 SSD 磁盘上?

我在消费模式下运行一个函数应用程序,想知道一个应用程序中打包的所有程序集是否都存储在 HDD 或 SSD 上?我看到糟糕的冷启动时间。如果正在使用 HDD,有没有办法升级到 SSD(无需升级到 Premium 计划)?

0 投票
1 回答
1159 浏览

java - spring boot 冷启动在 aws lambda 上花费的时间太长,并且 boot 初始化两次

这很奇怪,但是我的 spring boot api 在部署到 aws lambda 时花费的时间比预期的要长得多。在 cloudwatch 日志中,我看到 spring boot 启动了两次,第一次使用默认配置文件,第二次使用我设置的配置文件。为什么要启动两次.. 这非常耗时.. 源代码: lambdahandler.java

应用程序.java

这两个文件都在同一个包中

配置.java

pom.xml

云观察日志

0 投票
2 回答
356 浏览

javascript - 在云功能冷启动期间,node_modules 文件夹的大小是否重要?

我知道您应该只在索引文件的全局范围内导入所需的模块,以减少冷启动的时间。

但是我还没有发现 node_modules 文件夹的大小(或 package.json 文件的 dependencies 属性的长度)是否对云功能的冷启动很重要,或者只计算导入的模块?