AWS SQS Lambda Trigger dan Concurrency

Dec 18 2020

Saya telah melihat sejumlah pertanyaan SO tentang membatasi eksekusi bersamaan Lambda tetapi tidak ada pada masalah terbalik.

Saya perlu meningkatkan eksekusi bersamaan tetapi saya mengalami masalah. Saya mendapatkan Lambda yang dipicu dari antrean SQS . Saya telah menerbitkan versi fungsi dan menetapkannya 3.000 eksekusi bersamaan (batas saya telah ditingkatkan menjadi 5.000 dari default 1.000).

Meskipun demikian, ketika saya menjalankan proses saya, saya melihat ratusan ribu pesan menunggu dalam antrian sementara tab Pemantauan fungsi Lambda saya menunjukkan "Eksekusi bersamaan" saya tidak pernah melebihi 1.250 dan "ProvisionedConcurrencyUtilization" saya tidak pernah melebihi 50%. Selain itu, bagan tampaknya menyiratkan batas tegas 1.250.

Saya cenderung mencurigai bahwa ada semacam batasan yang mencegah satu Lambda menggunakan lebih dari 25% dari total kapasitas yang disediakan (1.250 adalah 25% dari 5.000) tetapi dokumentasi AWS menyatakan sebaliknya. Saya memang melihat pertanyaan SO ini ( AWS Lambda Dipicu oleh SQS meningkatkan jumlah permintaan SQS ) yang membahas polling Labmda / SQS tetapi itu dan dokumentasi yang ditautkan untuk menunjukkan proses saya harus menggunakan 100% dari Kapasitas yang Tersedia. Tapi mungkin pemungutan suara itulah yang menyebabkan masalah.

Bagaimanapun, pesan-pesan ini berada dalam antrian selama lebih dari satu jam untuk diproses ... dengan tidak pernah lebih dari 1.250 pemrosesan pada saat yang sama ... sementara reset konkurensi yang disediakan itu menganggur.

Setiap saran / ide sangat dihargai.

Jawaban

1 mmuse Dec 22 2020 at 22:42

Saran Jelly itu bagus.

Sayangnya, AWS mengatakan bahwa ada batas ketat 1.250 eksekusi bersamaan Lambda saat menggunakan pemicu Amazon SQS.