Aurora Serverless Scaling

0

I received a question from a customer below, any advice would be appreciated.

We’ve been continuing with our benchmark testing this week but have hit a bit of a road block with regards to Aurora Serverless. The concerns the way Aurora scales and the use of database connection pools in our J2EE application servers. Each application server has a set minimum and maximum number of connections that can be acquired based on the current load. As the load increases the number of connections established from each application server increases to service the increasing transactions. The max setting is a static value though which is set when the application server is created.

As the database scales so does the max_connections value, however the problem is that Aurora doesn’t scale as fast as our application servers connection pools so we end up seeing quite a few errors where mysql refused connections due to there being too many for the current size of the server. Do you guys have any suggestions about how to best manage the scaling between application servers and Aurora Serverless or even have any libraries that might help?

The only considerations I can think of is to either implement a caching strategy, limit concurrent connections with their application servers to aurora. That would mean that their application servers wouldn’t be able to scale up as much to make use of the extra performance gained by scaling Aurora. - Not Ideal.

Any thoughts?

asked 5 years ago302 views
1 Answer
0
Accepted Answer

Your application should try and use Data API where it can. Getting connection pooling right can be tricky. Also having connection pools means at any given point there are x connections held open with the DB regardless of the need for the application (min connections). Connection pools also means that you will never be at a point where Aurora completely scales down though that might hurt most use-cases. All things said and done offload connection pooling to DATA-API layer.

AWS
answered 5 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions