- Newest
- Most votes
- Most comments
Hi,
To really test the available concurrency, I would try to eliminate the time of the upload itself. So, to achieve that, I would first upload my images into a first bucket and then copy from first bucket to a second one where the trigger is defined. And btw, I would use S3 sync command across the 2 buckets to be faster than individual copies of files to give maximum chance to concurrency to increase.
In your current setup, the time to upload the image may be the factor limiting the concurrency.
Best,
Didier
Approximately how long does it take to upload all the 10,000 files to S3?
With my image analysis code (which takes 20sec to run for each image), 2 hours Without that code (so each Lambda invocation takes only about 30ms.) 1.35 hours
Invocations without the analysis code is ~360 compared to about 220 with the code

Indeed, this is a good and easy way to pinpoint the bottleneck. I also agree that the rate at which files are arriving in the bucket being the limiting factor would be the most obvious explanation.