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.
Sophia PaterakisAsked:
Who is Participating?
gheistConnect With a Mentor Commented:
vmware offers resource hotplug for all sorts of guests. No need to guess.
we tend to lock network devices (firewalls, proxys, or in your case pgpool) in memory, but otherwise it needs no special attention
gheistConnect With a Mentor Commented:
pgpool is just a connection broker. it needs fast ram if anything special at all.
1x write postgres will benefit from flash disk for journals.

you are very brief with your vmware specifications. Core what? you use 2-core laptop processors for serious servers?
Sophia PaterakisAuthor Commented:
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.

Sophia PaterakisAuthor Commented:
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.