Subject: DB load balancer

From: Siraj G <[email-masked]>
Date: Tue, 5 Aug 2025 10:18:15 +0530

Hello Experts!

We have a multi tenant model DB with a Primary and a Secondary. There are
3x or 4x connections flowing to Secondary as the application is read
intensive. Accordingly we have allocated more number of resources to the VM
hosting the secondary/replica DB.

Spec:-
Primary: 48 CPUs, 48GB memory
Secondary: 80 CPUs, 128GB memory
PG version: 12.22 (we have already started the upgrade process)
OS: Ubuntu

The problem very frequently we are experiencing is that the CPU load on the
SECONDARY is going very very high causing the app slowness. Also,
frequently the postgres is crashing due to OOM.

I was thinking of these (please give feedback):
1. Have a DB level balancer for the load balancing in the DB level, meaning
primary will also receive the READ traffic
2. Add a second REPLICA and configure load balancer for the connection load
balancing

What do we do for load balancing at the DB level, in postgres?

If there are any suggestions, please let me know.

Regards
Siraj

---

From: Deepak Goel <[email-masked]>
Date: Tue, 5 Aug 2025 10:51:22 +0530

Please share what you mean by slow (CPU usage of secondary over time,
response times of the transactions over time).

Deepak
"The greatness of a nation can be judged by the way its animals are treated
- Mahatma Gandhi"

+91 73500 12833
[email-masked]

LinkedIn: www.linkedin.com/in/deicool

"Plant a Tree, Go Green"

Make In India : http://www.makeinindia.com/home

On Tue, Aug 5, 2025 at 10:18 AM Siraj G <[email-masked]> wrote:

> The problem very frequently we are experiencing is that the CPU load on
> the SECONDARY is going very very high causing the app slowness. Also,
> 1. Have a DB level balancer for the load balancing in the DB level,
> meaning primary will also receive the READ traffic
> 2. Add a second REPLICA and configure load balancer for the connection
> load balancing
>

---

From: Siraj G <[email-masked]>
Date: Tue, 5 Aug 2025 11:41:53 +0530

Hello Deepak

CPU utilization is high, below is just a 1 day utilization graph. We have
been having these more often between 3:30 and 5:30 in the afternoon. This
is a daily pattern and during this the application response goes very slow.

Regards
Siraj

On Tue, Aug 5, 2025 at 10:51 AM Deepak Goel <[email-masked]> wrote:

> "The greatness of a nation can be judged by the way its animals are
> treated - Mahatma Gandhi"
>
> +91 73500 12833
> [email-masked]
>

---

From: Deepak Goel <[email-masked]>
Date: Tue, 5 Aug 2025 11:46:49 +0530

So the reads happen only at: 4 p.m. and 6 p.m. Looks more like batch jobs
then reads! Can you post the "Number of Reads" during these times too...

Deepak

+91 73500 12833
[email-masked]

"Plant a Tree, Go Green"

On Tue, Aug 5, 2025 at 11:42 AM Siraj G <[email-masked]> wrote:

>>> We have a multi tenant model DB with a Primary and a Secondary. There
>>> are 3x or 4x connections flowing to Secondary as the application is read