aws lambda 上的 Django 后端:什么被视为请求?

Django backend on aws lambda : what is considered a request?

我正在考虑在 aws lambda 上设置一个 django 后端,我需要根据请求的数量和这些请求的持续时间来计算成本。 如何计算 django 中的请求数(即在 django 中将什么视为 aws lambda 请求)?请求的页面是否等同于 aws lambda 中的请求?还是一个数据库访问等同于一个请求? 如何计算请求的平均持续时间? 谢谢

从浏览器到您的服务器的一个 HTTP 请求等于一个 Lambda 请求。无论您的 Lambda 函数 (Django) 在内部做什么(比如查询数据库)只会增加函数调用的运行时间,从而增加计费时间,这不是“请求”。

如果您正在为网站提供服务,浏览器可能会针对每个单独的 CSS 样式表、Javascript 文件、图像等向服务器发出大量请求。在 Lambda 上托管时,我推荐此设置:

  • 使用 Zappa 部署到 Lambda
  • 使用Django的collectstatic命令收集静态文件,并部署到S3;无需通过 Lambda 函数提供静态文件
  • 在您的 S3 存储桶前面放置一个 CloudFront,以极快的速度提供静态文件