aws-lambda-power-tuning

自动跑遍内存档位,找出 Lambda 最省钱或最快的配置

AWS Lambda Power Tuning 是一个运行在你自己 AWS 账户中的开源调优工具,专门解决 Lambda 函数内存配置难以确定的问题。它基于 AWS Step Functions 编排,自动用不同内存规格(从 128MB 到 10GB)反复调用目标 Lambda,记录每次的执行时长与费用,再生成可视化图表,帮你找到成本最低、速度最快或两者平衡的配置点。支持 cost、speed、balanced 三种优化策略,可并行执行、可指定内存范围、可设置冷启动预热,结果直接输出到控制台或 S3。整个过程无需部署额外服务器,用完即走,适合对无服务器成本敏感或需要压榨性能的团队。

开源 free 基础设施
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 6066
维护状态 活跃
是否开源
定价模式 free

项目数据

分类基础设施
开发团队alexcasalboni
所属国家
官网地址
定价模式free
价格说明开源免费,运行于自有 AWS 账户,仅需承担 AWS 资源费用
访问状态
是否开源
开源协议Apache-2.0
主要语言JavaScript
技术栈/模型aws,aws-lambda,cloud,cost,lambda,performance,serverless,stepfunctions
GitHub 星标★ 6066
30天Star增速
HF 下载量
上线时间2017-03-27 00:00:00
最近更新2026-09-17 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-16
浏览次数0

使用教程

难度:进阶 约 20 分钟 部署方式:命令行工具 7 步

环境要求

  • 已安装并配置 AWS SAM CLI
  • 已安装 AWS CLI 并完成 AWS 凭证配置(aws configure)
  • 本地已安装并启动 Docker(sam build -u 依赖)
  • 已安装 git 用于克隆仓库
  • 一个可用的 AWS 账户及目标 Lambda 函数 ARN

安装与启动步骤

  1. 1配置 AWS 凭证

    用 AWS CLI 交互式配置访问密钥、默认区域与输出格式,这是后续 SAM 部署的前提。

    aws configure
  2. 2克隆项目仓库

    把 aws-lambda-power-tuning 源码拉到本地,后续构建和部署都在该目录内进行。

    git clone https://github.com/alexcasalboni/aws-lambda-power-tuning.git
  3. 3构建依赖

    进入项目目录并用 Docker 容器环境构建 Lambda 层与依赖,成功时会输出 Build Succeeded。

    cd ./aws-lambda-power-tuning
    sam build -u
  4. 4部署到 AWS

    使用引导式部署,按提示填写唯一的 Stack Name 和 AWS Region,其余提示保持默认即可。

    sam deploy -g
  5. 5准备执行参数

    在 scripts/sample-execution-input.json 中填入你的 Lambda ARN、内存档位、调用次数和 payload。

    cat scripts/sample-execution-input.json
  6. 6运行状态机

    执行 scripts 目录下的 execute 脚本,状态机会用不同内存规格反复调用目标函数并给出调优建议。

    cd ./aws-lambda-power-tuning
    ./scripts/execute.sh
  7. 7删除部署

    调优完成后可运行 sam delete 清理资源,提示处回答 Y 即可,避免继续占用配额。

    sam delete

关键配置

配置项必填说明示例
lambdaARN待调优的目标 Lambda 函数 ARNarn:aws:lambda:us-east-1:123456789012:function:my-function
powerValues要测试的内存档位列表,取值 128MB~10GB[128, 256, 512, 1024]
num每个内存档位重复调用的次数,次数越多结果越稳50
payload调用目标 Lambda 时传入的事件负载{}

如何确认成功

sam deploy -g 结束后出现 Successfully created/updated stack 提示,即表示状态机部署成功。

常见问题

Q:sam build -u 构建失败怎么办?

A:该命令依赖 Docker 容器环境,请确认 Docker 已安装并处于运行状态;构建失败时终端会给出具体错误提示,按提示修复后重试。

Q:调优会不会影响我的生产 Lambda?

A:会真实调用你的函数,触发真实 HTTP 请求、SDK 调用和冷启动,建议先在测试函数上评估调用次数与 payload 的影响。

Q:怎么删除已经部署的调优工具?

A:在项目目录下执行 sam delete,并在提示处回答 Y,SAM 会删除本次部署创建的相关资源。

Q:可以调优非 Node.js 的函数吗?

A:可以,状态机与语言无关,只要提供任意 Lambda 函数的 ARN 就能对其进行调优。

Q:部署选项只有 SAM CLI 一种吗?

A:不是,官方提供了 5 种基于基础设施即代码的部署方式,Quick Start 使用的是 SAM CLI,其他方式见 README-DEPLOY.md。

注意事项

  • 该工具运行在你自己的 AWS 账户中,调用目标函数会产生真实费用。
  • sam build -u 必须依赖 Docker,未启动 Docker 会直接构建失败。
  • sam deploy -g 的交互回答会保存到 samconfig.toml,后续部署可复用。
  • 状态机支持跨区域调用,并可通过并行执行大幅缩短出结果的时间。

核心亮点

  • 基于 Step Functions 编排,无需自建服务器,直接跑在用户自己的 AWS 账户里,数据不出账户
  • 支持 cost、speed、balanced 三种策略,并给出可视化图表,直观对比不同内存下的耗时与费用
  • 可指定内存范围、并发数、冷启动预热和调用次数,调优粒度细,结果可导出到 S3 供团队复用

不足之处

  • 调优过程会产生真实 Lambda 调用费用,对高频函数或大内存档位可能产生额外开销
  • 依赖 AWS Step Functions 和 IAM 权限配置,首次使用需要一定 AWS 运维知识

适用场景

  • 生产环境 Lambda 成本偏高,需要找到性价比最高的内存配置
  • 新上线函数不确定该给多少内存,用数据代替拍脑袋
  • 对延迟敏感的服务,想验证加大内存能否显著降低执行时间

替代项目

lambda-cost-calculator、serverless-esbuild、aws-sam-cli

项目介绍

aws-lambda-power-tuning 是一个基础设施领域的开源项目,官方简介:AWS Lambda Power Tuning is an open-source tool that can help you visualize and fine-tune the memory/power configuration of Lambda functions. It runs in your own AWS account - powered by AWS Step Functions - and it supports three optimization strategies: cost, speed, and balanced.。项目使用 JavaScript 开发,在 GitHub 上获得 6063 星标。

上一篇:pmetal

下一篇:Orion

同类项目推荐

freebuff-proxy 开源

聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。

OpenAI-compatible gateway for FreeBuff coding models. Token pool, session lifecycle,···

★ 202 2026-08-20
microduck 开源

用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。

A Tiny biped duck robot

★ 8433 2026-09-10
soperator 开源

用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。

Run Slurm in Kubernetes

★ 435 2026-08-10
ollama 开源

一条命令本地跑起大模型,免费、私密、不卡顿

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···

★ 181124 2026-08-09