技能 lambda-optimization-advisor
📦

lambda-optimization-advisor

安全

Optimizar funciones de AWS Lambda

Las funciones de AWS Lambda a menudo sufren de arranques en frío lentos y altos costos debido a patrones ineficientes. El Asesor de Optimización de Lambda analiza el código de Lambda y sugiere mejoras específicas para el rendimiento, la configuración de memoria y la reducción de costos.

支持: Claude Codex Code(CC)
📊 71 充足
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“lambda-optimization-advisor”。 Review this Lambda handler: async fn handler(event: LambdaEvent<Request>) -> Result<Response, Error> { let user = fetch_user(&event.payload.user_id).await?; let posts = fetch_posts(&event.payload.user_id).await?; let comments = fetch_comments(&event.payload.user_id).await?; Ok(Response { user, posts, comments }) }

预期结果:

  • **Problema de rendimiento encontrado: Operaciones asíncronas secuenciales**
  •  
  • Este manejador hace tres llamadas a API secuenciales que toman más de 3 segundos en total. Cada `.await?` bloquea hasta que la llamada anterior se completa.
  •  
  • **Optimización**: Usar `tokio::try_join!` para ejecutar todas las solicitudes concurrentemente:
  •  
  • ```rust
  • async fn handler(event: LambdaEvent<Request>) -> Result<Response, Error> {
  • let (user, posts, comments) = tokio::try_join!(
  • fetch_user(&event.payload.user_id),
  • fetch_posts(&event.payload.user_id),
  • fetch_comments(&event.payload.user_id),
  • )?;
  • Ok(Response { user, posts, comments })
  • }
  • ```
  •  
  • **Mejora esperada**: Tiempo de ejecución reducido de más de 3 segundos a aproximadamente 500 ms (6 veces más rápido)

正在使用“lambda-optimization-advisor”。 Check this Lambda handler for optimization opportunities: async fn handler(event: LambdaEvent<Request>) -> Result<Response, Error> { let client = reqwest::Client::new(); let data = client.get("https://api.example.com").await?; Ok(Response { data }) }

预期结果:

  • **Problema de arranque en frío encontrado: Inicialización de cliente en el manejador**
  •  
  • Crear un nuevo cliente HTTP en cada invocación agrega latencia y sobrecarga de memoria. Cada inicio del contenedor Lambda debe inicializar un nuevo cliente.
  •  
  • **Optimización**: Usar `OnceLock` para inicializar el cliente una vez por contenedor:
  •  
  • ```rust
  • use std::sync::OnceLock;
  • static HTTP_CLIENT: OnceLock<reqwest::Client> = OnceLock::new();
  •  
  • async fn handler(event: LambdaEvent<Request>) -> Result<Response, Error> {
  • let client = HTTP_CLIENT.get_or_init(|| {
  • reqwest::Client::builder()
  • .timeout(Duration::from_secs(10))
  • .build()
  • .unwrap()
  • });
  • let data = client.get("https://api.example.com").await?;
  • Ok(Response { data })
  • }
  • ```
  •  
  • **Mejora esperada**: Arranques en frío más rápidos y menor uso de memoria

安全审计

安全
v1 • 1/23/2026

Static analysis flagged 25 potential issues in SKILL.md code examples, all of which are false positives. The flagged patterns (external_commands, network URLs, cryptographic references) are markdown documentation examples illustrating Lambda optimization patterns, not executable code. The skill only uses read-only tools (Read, Grep, Glob) for code analysis. No malicious intent or dangerous patterns present.

1
已扫描文件
169
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
30
社区
100
安全
91
规范符合性

你能构建什么

Configuración de nuevo proyecto Lambda

Revisar un nuevo manejador de Lambda durante el desarrollo para establecer patrones óptimos desde el principio, evitando costosas refactorizaciones posteriormente.

Resolución de problemas de rendimiento

Diagnosticar por qué una función Lambda existente tiene alta latencia o problemas de arranques en frío y recibir cambios específicos de código para mejorar el rendimiento.

Revisión de optimización de costos

Analizar funciones Lambda para identificar oportunidades para reducir costos de ejecución a través de mejor configuración de memoria y operaciones concurrentes.

试试这些提示

Revisión básica de Lambda
Revisar este código de manejador de AWS Lambda para optimizaciones de rendimiento y costos. Identificar cualquier operación asíncrona secuencial, problemas de inicialización de recursos o problemas de configuración.
Análisis de arranque en frío
Analizar esta función Lambda para encontrar causas de arranques en frío lentos. Buscar patrones que creen nuevos clientes o recursos en cada invocación y sugerir correcciones usando OnceLock o inicialización estática.
Optimización de Cargo.toml
Revisar el archivo Cargo.toml de este proyecto Lambda. Verificar si el perfil de lanzamiento está optimizado para despliegue de Lambda con configuraciones como opt-level, lto, codegen-units y strip para binarios más pequeños.
Migración ARM64
Esta función Lambda está ejecutándose en x86_64. Evaluar si migrar a ARM64 (Graviton2) proporcionaría mejor relación precio-rendimiento y qué cambios de código o compilación serían necesarios.

最佳实践

  • Usar tokio::try_join! o tokio::join! para operaciones de E/S concurrentes en lugar de declaraciones await secuenciales
  • Inicializar clientes HTTP, grupos de conexiones de bases de datos y clientes de AWS SDK usando OnceLock o lazy_static para reutilización de contenedores
  • Configurar el perfil de lanzamiento de Cargo.toml con opt-level = 'z', lto = true, codegen-units = 1 y strip = true

避免

  • Crear nuevos clientes o recursos dentro de la función del manejador de Lambda (sucede en cada invocación)
  • Hacer llamadas asíncronas secuenciales que podrían ejecutarse concurrentemente (desperdicia tiempo de ejecución)
  • Usar el perfil de lanzamiento predeterminado de Cargo sin indicadores de optimización (binarios más grandes, arranques en frío más lentos)

常见问题

¿Esta skill modifica mi código de Lambda?
No, esta skill solo analiza tu código y proporciona sugerencias de optimización con ejemplos de cambios de código. Debes aplicar los cambios tú mismo.
¿Qué tiempos de ejecución de Lambda están soportados?
Esta skill está diseñada para funciones Lambda de Rust que usan el crate lambda_runtime. Otros tiempos de ejecución como Python o Node.js no están dentro del alcance.
¿Cuánta mejora de rendimiento puedo esperar?
Los resultados varían según tus patrones actuales. Convertir operaciones de E/S secuenciales a concurrentes típicamente proporciona una mejora de 3-5 veces. La migración a ARM64 ofrece un 20% mejor relación precio-rendimiento en promedio.
¿Puede esta skill ayudar con permisos de Lambda o roles de IAM?
No, esta skill se enfoca en optimizaciones de rendimiento a nivel de código. No analiza políticas de IAM, permisos basados en recursos o configuraciones de VPC.
¿Siempre debo usar ARM64 para Lambda?
ARM64 proporciona mejor relación precio-rendimiento para la mayoría de las cargas de trabajo, pero algunas bibliotecas o dependencias legacy solo para x86 pueden requerir arquitectura x86_64. Prueba tu carga de trabajo específica antes de migrar.
¿Cómo pruebo las optimizaciones sugeridas?
Aplica los cambios sugeridos a tu código, ejecuta tus pruebas existentes y despliega en un entorno de prueba. Usa Lambda Power Tuning para comparar el rendimiento antes y después de los cambios.