Link to home
Start Free TrialLog in
Avatar of Sophia Paterakis
Sophia PaterakisFlag for United States of America

asked on

pgpool-II... what is a good server spec?

I'm setting up a new PostgreSQL cluster, and want to use pgpool-II to load balance and pool connections... but I've not found anywhere that gives suggestions on pgpool server sizing.

Can someone suggest a formula for sizing the pgpool servers?

It's going to be a fairly simple setup, just load balancing and connection pooling with PostgreSQL streaming replication keeping the Read-Only servers in sync... no pgpool parallel query... no pgpool replication, etc:

8 x Web servers
2 x pgpool servers (using "watchdog" for high-availability, so active/passive setup)
4 x PostgreSQL database servers (8 CPU Cores, 16GB RAM. 1 x Read-Write, and 3 x Read-Only)

This is in a private VMware cloud setup, so I can't definitely say what a "CPU Core" is... or how fast, etc.

I was planning on using a small-ish server that has 2 x GigEthernet connections, and maybe 2G of ram... but I figure the most important thing is having high CPU to keep latency down and ensure the network ports can be flooded.  I was going to start with 2 x CPU Cores and see how that goes, but it would be better if I wasn't shooting in the dark.

I'm going to do heavy-load testing later in the project, but I wanted to get close to the mark now... so any suggestions?

Thanks for your time.
SOLUTION
Avatar of gheist
gheist
Flag of Belgium image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Sophia Paterakis

ASKER

Hi @gheist,

Thanks, and yes, sorry for the vague spec.  This is a new setup for me, and the servers are all in a private VMware hosted cloud.  I can assure you they are server-spec, and not laptops... but nobody can give me a hard definition of what a "core" means, how fast, or even what type of CPU.  They are Intel-based, but could be AMD for all I know... yay for virtulization. :o(

Really I was hoping to get some sort of formula to give a guide on sizing the servers, either based on transaction volume, or some other metric.  I had figured that they don't need much disk, but fast CPU (and RAM), plus fast network (ideally one inbound and one outbound) is best.

I just wanted to try and find something more accurate so I can take a best guess on the size of the servers beforehand.  It's not critical as we can add CPU later, but it will make me look silly if I say they only need a small server and it ends up being a bottleneck for the entire system.

At this point I'm going to have to spec a small server, then flood it with traffic to find the breaking point... and increment CPU and Memory from there.

Thanks.
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks gheist.  I guess I was probably looking for some very specific documentation that doesn't exist, but if the general advice is that pgpool isn't all that heavy on server resources, then I'll start small and build up as necessary.
they have some guide for vpostgres, but since pgpool spins in memory guide is irrelevant...
pgpool is similar to reverse proxy that plainly works, no tuning required outside VM