技能 lambda-optimization-advisor
📦

lambda-optimization-advisor

安全

تحسين دوال AWS Lambda

غالباً ما تعاني دوال AWS Lambda من بطء التشغيل البارد وارتفاع التكاليف بسبب الأنماط غير الفعالة. يحلل مستشار تحسين Lambda كود Lambda ويقترح تحسينات محددة للأداء وتكوين الذاكرة وتقليل التكاليف.

支援: 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 }) }

預期結果:

  • **تم العثور على مشكلة في الأداء: عمليات Async المتسلسلة**
  •  
  • هذا المعالج يقوم بثلاثة استدعاءات متتالية لواجهة برمجة التطبيقات تستغرق أكثر من 3 ثوانٍ إجمالاً. كل `.await?` يحجب حتى يكتمل الاستدعاء السابق.
  •  
  • **التحسين**: استخدم `tokio::try_join!` لتشغيل جميع الطلبات في وقت واحد:
  •  
  • ```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 })
  • }
  • ```
  •  
  • **التحسن المتوقع**: تقليل وقت التنفيذ من 3 ثوانٍ+ إلى ~500 مللي ثانية (6 مرات أسرع)

正在使用「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 }) }

預期結果:

  • **تم العثور على مشكلة في التشغيل البارد: تهيئة العميل في المعالج**
  •  
  • إنشاء عميل HTTP جديد في كل استدعاء يضيف زمن استجابة الحمل الزائد للذاكرة. يجب على كل بدء حاوية Lambda تهيئة عميل جديد.
  •  
  • **التحسين**: استخدم `OnceLock` لتهيئة العميل مرة واحدة لكل حاوية:
  •  
  • ```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 })
  • }
  • ```
  •  
  • **التحسن المتوقع**: تشغيل بارد أسرع واستخدام أقل للذاكرة

安全審計

安全
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
規範符合性

你能建構什麼

إعداد مشروع Lambda جديد

مراجعة معالج Rust Lambda الجديد أثناء التطوير لإنشاء أنماط مثالية من البداية، وتجنب إعادة الهيكلة المكلفة لاحقاً.

استكشاف أخطاء الأداء

تشخيص سبب ارتفاع زمن الاستجابة أو مشكلات التشغيل البارد في دالة Lambda الحالية وتلقي تغييرات محددة في الكود لتحسين الأداء.

مراجعة تحسين التكاليف

تحليل دوال Lambda لتحديد فرص تقليل تكاليف التنفيذ من خلال تكوين ذاكرة أفضل وعمليات متزامنة.

試試這些提示

مراجعة Lambda الأساسية
راجع كود معالج AWS Lambda هذا للتحسينات في الأداء والتكاليف. حدد أي عمليات async متسلسلة أو مشكلات تهيئة الموارد أو مشاكل في التكوين.
تحليل التشغيل البارد
حلل دالة Lambda هذه للعثور على أسباب بطء التشغيل البارد. ابحث عن أنماط تنشئ عملاء أو موارد في كل استدعاء واقترح إصلاحات باستخدام OnceLock أو التهيئة الثابتة.
تحسين Cargo.toml
راجع ملف Cargo.toml لمشروع Lambda هذا. تحقق من تحسين ملف الإطلاق لنشر Lambda مع إعدادات مثل opt-level و lto و codegen-units و strip للثنائيات الأصغر.
ترحيل ARM64
هذه الدالة Lambda تعمل على x86_64. قيّم ما إذا كان الترحيل إلى ARM64 (Graviton2) سيوفر أداءً أفضل من حيث السعر وما التغييرات المطلوبة في الكود أو البناء.

最佳實務

  • استخدم tokio::try_join! أو tokio::join! للعمليات المتزامنة من I/O بدلاً من عبارات await المتسلسلة
  • قم بتهيئة عملاء HTTP ومجموعات قواعد بيانات عملاء AWS SDK باستخدام OnceLock أو lazy_static لإعادة استخدام الحاوية
  • قم بتهيئة ملف الإطلاق في Cargo.toml مع opt-level = 'z' و lto = true و codegen-units = 1 و strip = true

避免

  • إنشاء عملاء أو موارد جديدة داخل دالة معالج Lambda (يحدث في كل استدعاء)
  • إجراء استدعاءات async متسلسلة يمكن أن تعمل بشكل متزامن (تهدر وقت التنفيذ)
  • استخدام ملف الإطلاق الافتراضي لـ Cargo بدون علامات التحسين (ثنائيات أكبر، تشغيل بارد أبطأ)

常見問題

هل تقوم هذه الأداة بتعديل كود Lambda الخاص بي؟
لا، هذه الأداة تحلل الكود الخاص بك فقط وتقدم اقتراحات للتحسين مع أمثلة لتغييرات الكود. يجب عليك تطبيق التغييرات بنفسك.
ما هي runtime Lambda المدعومة؟
تم تصميم هذه الأداة لدوال Lambda المبنية على Rust باستخدام crate lambda_runtime.运行环境 الأخرى مثل Python أو Node.js ليست ضمن نطاق العمل.
كم مقدار التحسن في الأداء الذي يمكنني توقعه؟
تختلف النتائج بناءً على أنماطك الحالية. تحويل I/O المتسلسل إلى عمليات متزامنة يوفر عادةً تسريعاً بمقدار 3-5 مرات. يوفر ترحيل ARM64 أداءً أفضل بنسبة 20% من حيث السعر في المتوسط.
هل يمكن لهذه الأداة المساعدة مع أذونات Lambda أو أدوار IAM؟
لا، تركز هذه الأداة على تحسينات الأداء على مستوى الكود. لا تحلل سياسات IAM أو الأذونات المستندة إلى الموارد أو تكوينات VPC.
هل يجب علي دائماً استخدام ARM64 لـ Lambda؟
توفر ARM64 أداءً أفضل من حيث السعر لمعظم أحمال العمل، لكن بعض مكتبات x86 القديمة الحصرية أو التبعيات قد تتطلب بنية x86_64. اختبر حمل العمل المحدد قبل الترحيل.
كيف أختبر التحسينات المقترحة؟
طبق التغييرات المقترحة على الكود الخاص بك، وشغل اختباراتك الحالية، وانشر في بيئة اختبار. استخدم Lambda Power Tuning لمقارنة الأداء قبل وبعد التغييرات.