I'm looking at setting up my site with a NodeBalancer.
Per this question:
NodeBalancers have a concurrent connection limit of 10,000.
To handle more traffic, you would need to utilize additional NodeBalancers or use an alternative method.
My site is currently has ~2,500 concurrent connections active, which is lower than the 10,000 limit, but it's feasible that a traffic spike could bring it up to 10,000.
Does the "additional NodeBalancer" option mean I could set up a second NodeBalancer for the same site and get a 20,000 connection limit? If so, how would I set this up?
Yep! You can "stack" NodeBalancers so long as they're each configured in a way that allows for incoming connections to be balanced across both NodeBalancers. This would require round robin DNS records, with multiple A/AAAA records. You'd also need to consider whether your setup requires session stickiness, as this could have an impact on how the multiple NodeBalancers handle incoming requests and/or could result in one of the NodeBalancers exceeding the 10,000 concurrent connections limit despite having multiple NodeBalancers set up.
Thanks for the response. Based on other questions posted, I would just configure the second load balancer, and then add additional A/AAAA records pointing to it, correct? (Session stickiness is not an issue for me)
A couple tangential questions:
- What is the behaviour when the 10k connection limit is reached? Would users get a "Connection reset"?
- How do I monitor how many connections I'm at? Is the graph in the NodeBalancer UI "Connections (CXN/s, 5 min avg.)" measuring this in the same way as the limit is calculated?
- Is this number affected by HTTP connection settings in the web server (e.g. http2_idle_timeout in nginx)?