繁体   English   中英

是否可以使 aws sam local 运行得更快?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM