I have a setup where every time an item is inserted in my table, I call a Lambda function. I'm trying to cut huge images in 256x256 tiles, it's a one time job but I need a few million lambda calls.
The system works, but very slowly, around 30 invocations/sec. I can see the iterator age increasing in the lambda monitor.
Where is the bottleneck coming from?
First thing to ensure is that you have retries enabled and not using the default -1 value which can cause your stream shard to block.
Then you can increase the performance doing a mixture of the following: