Thanks for detailed reply.
I'm using Node.js, this is a gist of the Lambda function: https://gist.github.com/paulspringett/ec6d3df65e977342d6ea
I'm initialising the DDB connection outside the function as you suggest. However, I'm calling context.succeed() not context.done() -- would this be problematic?
I'll try increasing the "memory size" and requesting an increased concurrent request limit too, thanks.