SQS Lambda ESM Scaling Behaviour - Experiment Batch Size vs Processing Time

#Test

Important

This page only contains the experiments that have been done for the: SQS Lambda ESM Scaling Behaviour blog post.

We varied the processing time of the Lambda function (100ms, 200ms, 400ms, 600ms) and observed the total runtime. An SQS generator Lambda function is used to send messages to the queue at a constant rate.

#Batch Size 1

#100 ms vs 200 ms vs 400 ms vs 600 ms — at a glance

Processing timeTotal cold startsAvg cold starts during ramp-up (per min)Invocation ramp-up rate (per min)Total invocations during ramp-upRamp-up timeTotal run time
100 ms19515710,84350,8711m 10s (28%)4m 10s
200 ms3582659,23755,7341m 20s (31%)4m 20s
400 ms7952815,265128,7582m 50s (65%)4m 20s
600 ms10602974,269163,9973m 30s (84%)4m 10s
Loading..
100ms vs 200ms vs 400ms vs 600ms — Cold Starts Cumulative, Cold Starts, Invocations

📈 CLICK TO SEE 100MS, 200MS, 400MS AND 600MS DETAILED RESULTS

#Processing Time 100 ms

Loading..
Charts: Cold Starts Cumulative, Cold Starts, Invocations

#Processing Time 200 ms

Loading..
Charts: Cold Starts Cumulative, Cold Starts, Invocations

#Processing Time 400 ms

Loading..
Charts: Cold Starts Cumulative, Cold Starts, Invocations

#Processing Time 600 ms

Loading..
Charts: Cold Starts Cumulative, Cold Starts, Invocations

Warning

The results below are invalid. The 400ms and 600ms tests hit the account concurrency limit and are thus invalid. I thought I would leave them here anyway.

📈 CLICK TO SEE INCORRECT RESULTS

#Batch Size 1

#100 ms vs 200 ms vs 400 ms vs 600 ms — at a glance

Processing timeTotal cold startsAvg cold starts per minute of RampupInvocation ramp rate (per min)Total invocations during ramp upRamp up timeTotal run time
100 ms24315511,30984,5671m 30s (47%)3m 10s
200 ms4562488,99090,2311m 50s (46%)4m
400 ms6971823,327194,8083m 50s (100%)3m 50s
600 ms6961902,787153,6613m 40s (79%)4m 40s
Loading..
100ms vs 200ms vs 400ms vs 600ms — Cold Starts Cumulative, Cold Starts, Invocations

📈 CLICK TO SEE 100MS, 200MS, 400MS AND 600MS DETAILED RESULTS

#Processing Time 100 ms

Loading..
Charts: Cold Starts Cumulative, Cold Starts, Invocations

#Processing Time 200 ms

Loading..
Charts: Cold Starts Cumulative, Cold Starts, Invocations

#Processing Time 400 ms

Loading..
Charts: Cold Starts Cumulative, Cold Starts, Invocations

#Processing Time 600 ms

Loading..
Charts: Cold Starts Cumulative, Cold Starts, Invocations


#Batch Size 2

#200 ms vs 400 ms vs 600 ms — at a glance

Processing timeTotal cold startsAvg cold starts per minute of RampupInvocation ramp rate (per min)Total invocations during ramp upRamp up timeTotal run time
200 ms2632457,45923,4111m (27%)3m 40s
400 ms4362384,53450,5841m 50s (48%)3m 50s
600 ms5712863,69950,7762m (46%)4m 20s
Loading..
200ms vs 400ms vs 600ms — Cold Starts Cumulative, Cold Starts, Invocations

📈 CLICK TO SEE 200MS, 400MS AND 600MS DETAILED RESULTS

#Processing Time 200 ms

Loading..
Charts: Cold Starts Cumulative, Cold Starts, Invocations

#Processing Time 400 ms

Loading..
Charts: Cold Starts Cumulative, Cold Starts, Invocations

#Processing Time 600 ms

Loading..
Charts: Cold Starts Cumulative, Cold Starts, Invocations