我试过了
sam local start-api
在CDK和SAM应用程序上,我注意到两者的行为相同。有一个Lambda函数什么都不做,实际上这就是代码:
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秒左右。这样的函数应该以毫秒为单位。但samlocal的做法似乎是每次都创建一个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 -
它在第一行上花费了绝大多数时间,实际上实际功能花费了140毫秒。
有没有一种方法可以加快速度,与RubyonRails、Django、NodeJS+Express等类似的速度?