Hi everyone!
I’ve been using AWS’ Java SDK V1 for Lambda invocation during several years with high concurrency (up to 1,700 requests per minute, per target) and the response time is crazy fast regardless of the concurrency (~ 60ms pct90 for the fastest Lambda function).
Recently I decided to see how Cognitect’s aws-api library would perform and I experienced a few [bad] surprises:
• 1st try with 1 shared http client: lots of anomalies, Lambda response time to the roof (from client’s perspective) up to 19,110ms pct90 for that same “fast” Lambda function.
• 2nd try opening and closing 1 new http client for each Lambda invocation: no anomalies, nevertheless the response time (from client’s perspective) is still too high, up to 18,960ms pct90.
I’m wondering if someone managed to use Cognitect’s aws-api library in a high concurrency environment?
You should write a blog post about your results!
We’re using it to invoke lambdas from other lambdas. using Snapstart helps
my two cents is that for performance critical things, it will be hard to beat the official AWS SDKs as they are using connection pooling, netty etc. Cognitect lib is hitting a different use case