SuperAPI AI 工具集

performance-efficiency

部署与运维

查看项目

更新于 10-15 09:24

技能介绍

用途

该技能用于评估一个工作负载的性能效率,依据 AWS Well-Architected 框架的性能效率支柱,对代码库中的资源配置与实现模式进行系统性审查,识别性能瓶颈、评估风险等级,并给出可执行的优化建议。

主要能力

技能覆盖六个评估领域:

  1. 计算资源选型:检查 EC2 实例类型与家族、Lambda 内存与超时配置、ECS/Fargate 任务 CPU 与内存分配、容器基础镜像、Graviton(ARM)与 x86 架构选择、预置并发配置、批处理与实时处理选择。会标记 Lambda 默认 128MB 内存、Lambda 超时大于等于调用方超时、通用型实例用于计算或内存密集型负载、x86 未采用 Graviton、Fargate 任务过度配置等问题。

  2. 存储与数据库性能:检查数据库引擎与访问模式匹配度、只读副本、连接池(RDS Proxy、应用级池化)、DynamoDB 表设计(分区键分布、GSI)、缓存层(ElastiCache、DAX、CloudFront)、S3 访问模式、EBS 卷类型与 IOPS、应用代码中的查询模式(N+1 查询、缺失索引)。会标记关系型数据库用于键值访问、无服务器到 RDS 无连接池、DynamoDB 热分区、读多写少数据无缓存、gp2 EBS 卷、DynamoDB 读密集缺少 DAX、N+1 查询或无界查询等问题。

  3. 网络与内容分发:检查 CloudFront 分发、API Gateway 缓存、VPC 端点、置放群组、Global Accelerator、连接设置(keep-alive、HTTP/2、压缩)、DNS 解析(Route 53 延迟路由)。会标记静态内容无 CDN、API 响应无压缩、可缓存 GET 端点无 API Gateway 缓存、跨区域调用、缺少 VPC 端点等问题。

  4. 扩缩容与弹性:检查 Auto Scaling 策略(目标跟踪与步进扩缩)、扩缩指标(仅 CPU 与自定义指标)、冷却期与扩缩速度、计划扩缩、Lambda 预置并发、数据库自动扩缩、扩缩瓶颈。会标记仅用 CPU 指标、冷却期过长、延迟敏感 Lambda 无预置并发、固定容量数据库、最大扩缩容量过低等问题。

  5. 应用性能模式:检查同步与异步处理、批处理机会、分页实现(游标与偏移)、数据序列化格式、应用缓存、预热与连接复用、并行与顺序处理。会标记可异步的同步处理、可并行的顺序 API 调用、大数据集偏移分页、Lambda 冷启动模式、缺少批量操作、无界数据检索等问题。

  6. 监控与优化实践:检查 CloudWatch 指标与告警、X-Ray/OpenTelemetry 追踪、自定义指标、性能预算与告警、仪表盘。会标记无 p95/p99 延迟监控、无分布式追踪、无性能告警、仅平均值指标等问题。

使用方式

技能按步骤执行:

  • 步骤 1:收集上下文,询问用户工作负载名称、待分析代码包/目录、性能需求(延迟目标、吞吐量、并发用户)、已知瓶颈。若已提供上下文或已在代码库中,则直接继续。
  • 步骤 2-7:分别对计算选型、存储与数据库、网络与内容分发、扩缩容与弹性、应用性能模式、监控实践进行发现分析,每项发现需记录文件路径与行号。
  • 检查点:发现完成后暂停,需用户明确确认才继续。
  • 步骤 8:对照 WA 框架的 8 个性能效率问题(PERF 1-8)逐项评估,提供状态、证据(文件:行号)、差距、风险。
  • 步骤 9:按影响 × 可能性评估风险等级(Critical/High/Medium/Low)。
  • 检查点:风险评估完成后暂停,需用户明确确认才继续。
  • 步骤 10:输出最终报告,包含执行摘要、性能记分卡、按风险等级分类的发现、优化机会表、分阶段修复计划(快速见效 <1 周、基础建设 1-4 周、战略级 1-3 个月)、下一步行动。
  • 步骤 11:提供后续选项,如设计缓存策略、优化 Lambda 内存/超时、实现连接池、创建负载测试计划、重构同步代码为异步、实现 CloudFront 分发。

适用场景

适用于对 AWS 上的工作负载进行性能效率审查,尤其适合在代码库层面识别资源配置不当、缓存缺失、扩缩容策略不足、应用模式低效以及监控盲区等问题。可用于架构评审、性能优化规划、Well-Architected 评估等场景。

限制

  • 每项发现必须有代码证据,不能在没有检查现有缓存层的情况下标记“缺少缓存”。
  • 性能发现应估算改进幅度(例如“添加连接池通常可将 p99 延迟降低 30-50%”)。
  • 需评估权衡:性能优化可能增加成本或复杂性。
  • 当需要实际性能数据时(例如判断实例是否受 CPU 限制需要 CloudWatch 指标),“无法确定”是有效结论。
  • 在列出问题前应先肯定良好的性能实践。
  • 评估过程设有检查点,需用户明确确认后才继续。
  • 具体收费、价格、平台支持情况暂未提供。