[英]Is it possible to make aws sam local run faster?
我已经在 CDK 和 SAM 应用程序上尝试了sam local start-api
,我注意到两者的行为相同。 有一个 Lambda function 什么都不做,实际上这是代码:
export async function handler(event: APIGatewayProxyEvent): Promise<APIGatewayProxyResult> {
return {
statusCode: 200,
headers: {"Content-Type": "text/plain"},
body: `Hello, CDK! You've hit ${event.path}\n`
}
}
似乎总是需要超过 4 秒才能运行,通常在 6 秒左右。 这样的 function 应该以毫秒为单位。 但是 sam local 的做法似乎是每次都创建一个 Docker 容器。
日志显示:
Mounting C:\Users\pupeno\Code\example4-be\lambda as /var/task:ro,delegated inside runtime container
START RequestId: d63b417e-460e-4861-a2f1-85ebb29472a4 Version: $LATEST
END RequestId: d63b417e-460e-4861-a2f1-85ebb29472a4
REPORT RequestId: d63b417e-460e-4861-a2f1-85ebb29472a4 Init Duration: 0.32 ms Duration: 140.76 ms Billed Duration: 141 ms Memory Size: 128 MB Max Memory Used: 128 MB
2022-01-21 22:40:29 127.0.0.1 - - [21/Jan/2022 22:40:29] "GET / HTTP/1.1" 200 -
它大部分时间都花在了第一行,实际上 function 花了 140 毫秒。
有没有办法加快速度,与 Ruby on Rails、Django、NodeJS + Express 等保持相似的速度?
我有类似的问题,有时安装卡住了。 我正在使用 Linux (WSL) 和 Docker 桌面的 Windows 子系统在本地运行容器。 从 Docker 桌面清理未使用和悬空的容器似乎有助于加快安装速度。 不是一个合适的解决方案,但可能会有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.