Overhead of load-balanced microservices architecture

From: DOUG KUSHNER <dougk5_at_cox.net>
Date: Wed, 12 Aug 2020 21:34:01 -0700 (MST)
Message-ID: <549765983.413962.1597293241669_at_myemail.cox.net>



Our dev team recently rolled out an application using an F5 load-balanced microservices architecture. There are several miscroservices, each load balanced on up to 4 servers each, and each with a health-check api that hits the database. While this may have looked good on paper, just the overhead of the health-checks with no work being processed has resulted in roughly 7 connection attempts per second to the database. This results in a version check query about 40K times per hour. The database is on an Exadata (2-node RAC) with several other production databases.

Of course the Exadata has been handling it, so unless you are looking for anomalies (which I always am), this will fly under the radar until it doesn't. :)

I'm wondering if anyone knows how to determine the theoretical max connections/sec that a listener can handle based on the number of cores licensed in the system?

Also wondering if anyone here has encountered this scenario before and how they dealt with it. I'm also looking for a good reference on the subject.

My immediate focus will be on determining why these health check connections do not appear to be utilizing the services' connection pools, while the dev team determines whether they can relax the frequency of these health checks.

Regards,

Doug

--
http://www.freelists.org/webpage/oracle-l
Received on Thu Aug 13 2020 - 06:34:01 CEST

Original text of this message