问题标签 [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.
amazon-web-services - 预置并发无法解决 lambda 冷启动
我有一个非常基本的 lambda 函数,它由 AWS API Gateway 调用,而 lambda 所做的只是调用 AWS SNS 以发送文本消息。lambda 版本化并配置了 1 个预置并发,状态为“就绪”
在 20-30 分钟后第一次调用版本化 lambda 时,我遇到了长达 13 秒的冷启动延迟。
下面是 AWS API 网关日志,详细说明了在调用具有预置并发性的版本化 lambda 后获得响应所需的时间。
但所有后续调用都运行得非常快
有什么想法我可能会错过吗?
portforwarding - 通过从 API 接收日志来了解 Openwhisk 操作是否在预热容器上执行
我通过 kubernetes 集群安装 openwhisk。我通过 API 调用我的操作,并通过 API 接收他们的日志。但是在日志中,只有通过initTime注解才知道action是冷还是暖。并且不清楚冷动作是在冷藏容器上执行还是在预热容器上执行。我尝试通过用户事件服务和指标端点通过 kubectl 端口转发和 localhost:9095/metrics 访问这些信息。但是在这个端点,只指定了冷启动号。我如何知道操作是否在预热容器上执行?
aws-lambda - AWS Lambda API 网关超时
我是stackoverflow的新手,所以我为我糟糕的描述道歉......
我目前正在通过 aws lambda 运行 django。
运行函数时有 API 网关超时(30 秒)的情况。令人尴尬的是,短于 2 秒的函数也会超时!
我搜索了 CloudWatch 日志,发现了该死的超时日志。
有趣的是,根据我的自定义日志,该功能在 30 秒超时前几乎 1 秒开始。
可能是什么问题呢?我试图尽可能地避免超时。
会不会是冷启动的原因?
我什至用 ["keep-warm": true] 和 ["keep_warm_expression": "rate(1 minute)"] 设置了我的 zappa_settings.json。
是的,我的 lambda 函数不在 vpc 中。
由于我的函数也是基于python的,我的同事认为它不能冷启动......(我已经尽一切努力减少冷启动的机会,对吧?)
我在下面发布了完整的日志。
实例在 02:09:52 开始,在 02:10:22 结束,函数(即 'MY_FUNCTION()')在 02:10:21 左右开始。(该函数应该以 'MY_FUNCTION() - 4' 结束,然后渲染 html。)
任何帮助,将不胜感激!
https://docs.google.com/document/d/1uMuuwLXm5PtwgE5Rtb-jid5T-carbuGxaiUP4AUd_pk/edit?usp=sharing
对于 Mrinal,以下是我的 lambda 配置。我在上面的谷歌文档中添加了角色描述。
node.js - 在我们的前置 lambda 中冷启动超过 1 秒
我们最近注意到,在我们平台的面向客户的函数(APIGW 使用的 lambda)中,我们经历~1s
了冷启动。这对我们来说意义重大,我们正在努力与之抗争。
REPORT RequestId: 2545824b-66a3-44d2-871d-0abd7b5aa468 Duration: 213.83 ms Billed Duration: 300 ms Memory Size: 512 MB Max Memory Used: 91 MB Init Duration: 1059.00 ms
技术细节:
- 我们正在使用 nodejs v12。
- 我们已经尝试减小包大小并使用 Layer 作为依赖项(没有太大帮助)
- lambda 本身只是从 DyanmoDB 查询一些数据,对其进行解析,然后检索给我们的用户
有什么改善延迟的建议吗?任何解决方法?
aws-lambda - AWS Lambda 冷出会导致 API Gateway 超时(30 秒)吗?
我目前正在通过 Django 管理一个网站。该网站的 url 将请求一个存储在 AWS Lambda 函数中的 api。
通常,没有 VPC 设置冷出的基于 python 的 Lambda 函数不会让我们担心。
但我对我的网站性能有两个担忧。
服务器功能与 AWS S3、Firestore、Firebase 身份验证和 DynamoDB 等多个第三方功能进行通信。因此,每个 Lambda 函数都需要建立所需的设置。
网站的每个页面都会检查本地持久性的 Firebase 身份验证。进程延迟是否对冷启动容器至关重要,导致 30 秒超时?
如果某些用户偶尔会遇到 API Gateway 超时,这可能是 AWS Lambda 冷启动的原因吗?
java - 如何提高从 AWS Lambda (Java) 对 AWS 服务的初始调用的性能?
我最近尝试分析 AWS Lambda 中托管的服务的一些性能问题。分解这个问题,我意识到它只是在每个容器的第一次调用中。在隔离问题时,我发现自己创建了一个新的测试项目来获取一个简单的示例。
测试项目
(您可以克隆它、构建它mvn package
、部署它sls deploy
,然后通过 AWS 管理控制台对其进行测试。)
该项目有 2 个 AWS Lambda 函数:source
和target
. 该target
函数只返回一个空的 json {}
。该函数使用 AWS Lambda 开发工具包source
调用该函数。target
该target
函数的大致持续时间在冷启动时为 300-350 毫秒,在热调用时为 1 毫秒。该source
函数的大致持续时间是冷启动时 6000-6300 毫秒,热调用时为 280 毫秒。
函数冷启动的 6 秒开销source
似乎是获取客户端的 3 秒和调用另一个函数的 3 秒,热调用分别为 3 毫秒和 250 毫秒。对于 AWS SNS 等其他服务,我的时间也差不多。
我真的不明白它在这 6 秒内做了什么,以及我能做些什么来避免它。在进行预热调用时,我可以获取客户端并存储参考以避免前几秒钟,但其他几秒钟来自实际使用其他服务(SNS、Lambda 等),我不能真正做到这一点无操作。
那么,其他人是否经历相同的冷启动持续时间,我该怎么做才能提高性能?(除了设置内存)
amazon-web-services - AWS SAM 本地 Lambda 调用缓慢
我正在尝试使用 SAM 本地 CLI 在本地测试我的 lambda 函数。我使用以下命令启动 API:
但是,每次我调用 API 时,lambda 调用都会花费大量时间(4-5 秒),我假设每次调用函数时都会启动 docker 容器。
有解决方法吗?
node.js - 从 Lambda 执行 SSR 时,如何减少长时间的冷启动时间
我有一个使用 CRA、ConnectedRouter、Redux 和 Saga 制作的 React.JS 应用程序的 SSR 服务器。我正在尝试使用以下代码在 AWS Lambda 下托管此服务器:
此包装器提取以下设置代码:
然后我的 server.js 中有常规快递服务器
然后,我让装载机做:
整个过程,包括转译,以及启动 express 服务器所需的时间,都需要相当长的时间。对于温暖的 lambda,我的延迟可能在 100 毫秒之间,一直到大约 3 秒。
是否有一些可以应用到我的代码中的容易实现的改进?