SQS Lambda ESM Scaling Behaviour - ESM vs Lambda Errors
#Test
Important
This page only contains the experiments that have been done for the: SQS Lambda ESM Scaling Behaviour blog post.
Here we set processing time at 50ms and ESM concurrency unbound. Then on every 5-9th minute, we throw and error depending on the percentage for that experiment. The error is thrown at the start of the function. This test duration is longer, at 22 minutes to better see the impact.
#Results
| Condition | Concurrency at Steady State | Concurrency at Error State | Concurrency Reduction | Throughput at Steady State | Throughput at Error State | Throughput Reduction |
|---|---|---|---|---|---|---|
| 50ms 1% | 60 | 25 | 58.3% | 2000 | 1600 | 20% |
| 50ms 5% | 60 | 16 | 73.3% | 2000 | 500 | 75% |
| 50ms 10% | 60 | 13 | 78.3% | 2000 | 300 | 85% |
#Processing 50ms, 1% error rate
#Processing 50ms, 5% error rate
#Processing 50ms, 10% error rate
The number of errors reported by Lambda is about the same at the 5% and 10% induced error percentage. That is because the throughput is reduced so ESM is invoking the Lambda less.