问题标签 [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.
python - AWS Lambda python函数的长时间冷启动
我已经使用 Zappa 将一个非常简单的烧瓶函数(即两个简单的路由链接到一个 sql 查询并将它们转换为一个表)转换为一个 Lambda 函数。部署的功能约为 20MB。因为流量会非常低,所以我没有为我的功能使用任何预热机制。
该函数只需要 128MB 内存,在之前的所有实例都已销毁的情况下运行此函数时,冷启动大约需要 16 秒。
从直觉上看,这似乎很长一段时间,而我读过的内容(例如,此处)表明,不在VPC 中的 python 函数对于冷启动的延迟相对较低。
如果我向函数添加内存,冷启动时间似乎会线性减少。这再次与我读过的内容(例如,如上所述)相冲突,因为内存不是冷启动延迟的问题。这是我的调用时间表:
我应该对这些结果感到惊讶还是我错过了什么?
谢谢
斯蒂芬
recommendation-engine - 为使用用户评分的推荐系统寻找预训练的神经网络
我在构建餐厅推荐系统方面起步较晚,找不到可以直接使用或通过迁移学习使用的预训练模型
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 秒才能启动.
我尝试过的事情:
来自上述链接的异步初始化。它确实有所帮助,但还不够。
跳过 lambda 的 Init 阶段。它帮助减少了近 8 秒。
预置并发,但据我所知,它也无济于事。当我看到日志时,每次都会初始化 spring 上下文,如果有任何请求在 15-20 分钟的间隔后出现。
我的 lambda 在不同场景下的响应时间是:
为了减少此响应时间,我正在考虑每 5 或 10 分钟对我的 lambda 进行一次 REST 调用,以便将 spring 上下文保留在内存中,从而有助于更快地处理请求。这个调用就像一个健康检查调用,几乎没有处理。
这是一个可取的方法吗?或者有没有更好的方法来实现这个目标?
我不清楚 AWS 在这种情况下是否会收费。
android - Android 使用 Firebase 缓慢冷启动
我觉得我的应用程序冷启动很慢,并且当 Firebase Performance 提到这一点时更加确定。
我使用 logcatDisplayed
进行了初步比较,显示在我的三星 Galaxy S8 上:
这是通过按下play
Android Studio 上的按钮>>
从我的手机关闭应用程序在我的手机>>
中再次打开它(即不使用 android studio)复制的
与已知应用程序相比,大约 400 毫秒的快速应用程序和较慢的应用程序(例如 Whatsapp 和 facebook)是 1 秒,所以 2 秒很多!
我花了将近 2 天的时间,最终找到了以下内容,
如果我正在制作一个简单的Hello World应用程序,冷启动时间约为 0.660 秒,这对于一个什么都不做的应用程序来说是很多的,而与发布的应用程序相比,它只需 0.350 秒
如果我在 gradle 中添加接下来的 4 行(没有任何额外的代码!)
冷启动提升到 1.2s 左右,甚至超过了 Whatsapp 和 Facebook
这么简单的代码冷启动怎么这么慢?我错过了 Android Studio 中的任何设置吗?也许是清单或gradle?我能做些什么来改善它?
android - Android 冷启动时间
打开我的应用程序时,白屏显示大约 2 秒钟,然后显示我的启动屏幕,然后再需要 2 秒钟才能进入主要活动。这确实在我的应用程序上做了一些糟糕的用户体验。
我相信 android 在实际显示我的启动屏幕之前会执行一个冷启动,它会显示一个虚拟的白色活动。
我阅读了许多用户建议在应用主题中放置<item name="android:windowDisablePreview">true</item>
或 放置的帖子,<item name="android:windowIsTranslucent">true</item>
但这对我不起作用。它只是让应用看起来需要更多时间来加载。
但是,有一些应用程序(如 Instagram 和 AliExpress)用自己的方式绕过了虚拟白活动,如下所示:
有没有办法用我的初始屏幕替换虚拟白色活动?
如果是这样,请您分享我可以参考的代码或链接。
感谢您的帮助。
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 预览)工作方式不同的原因。
azure - 如何在 Azure Functions 和专用应用服务 VM 之间进行身份验证
我有一个Function
在消费计划中运行的应用程序。我在 Windows 上启用ReadyToRun
了编译并以 x64 为目标。问题是 bin 文件夹有许多 dll,总大小为 90 MB。我想尽可能减少冷启动时间。
我正在考虑利用多个应用程序(通过添加多个函数应用程序或专用 VM 来处理很少使用的逻辑)。是否有任何关于如何在多个应用程序之间进行身份验证的 MS 文档?我的函数应用程序现在正在使用 JWT 的自定义身份验证。通过主应用程序对用户进行身份验证后,我正在考虑在其他应用程序中调用 REST API。
azure - 所有 DLL 是否都存储在 Azure Function 应用中的 HDD 或 SSD 磁盘上?
我在消费模式下运行一个函数应用程序,想知道一个应用程序中打包的所有程序集是否都存储在 HDD 或 SSD 上?我看到糟糕的冷启动时间。如果正在使用 HDD,有没有办法升级到 SSD(无需升级到 Premium 计划)?
java - spring boot 冷启动在 aws lambda 上花费的时间太长,并且 boot 初始化两次
这很奇怪,但是我的 spring boot api 在部署到 aws lambda 时花费的时间比预期的要长得多。在 cloudwatch 日志中,我看到 spring boot 启动了两次,第一次使用默认配置文件,第二次使用我设置的配置文件。为什么要启动两次.. 这非常耗时.. 源代码: lambdahandler.java
应用程序.java
这两个文件都在同一个包中
配置.java
pom.xml
云观察日志
javascript - 在云功能冷启动期间,node_modules 文件夹的大小是否重要?
我知道您应该只在索引文件的全局范围内导入所需的模块,以减少冷启动的时间。
但是我还没有发现 node_modules 文件夹的大小(或 package.json 文件的 dependencies 属性的长度)是否对云功能的冷启动很重要,或者只计算导入的模块?