Hi everyone,
I have a question that I hope fits in this discussion group.
I'm migrating my actual server into a new, more powerful architecture on
Google Cloud Platform.
ATM the server is a VM with 4 vCPUs (the host has 4 Xeon E2xx 3,1 GHZ,
if I remember) and 32 GB RAM, just running Ubuntu Server 12.04 and
PostgreSQL 9.1
The server contains about 350 DBs and the same number of roles (every
role has its own database). Databases are made of about 75 tables that
can contain blobs (one table is peculiar in containing blobs) and single
blob size can grow up to 20-25 megabytes. ATM our biggest DB is about 30
GB, 95% made of blobs.
Apart from user growth, that means more resource consumption, we are
starting new services, that will have more and more impact on databases.
I read about how blobs are SLOW and I'm a bit worried on how to manage them.
Now, the actual question, is:
Having a VM that can be upgraded with a click on a panel and a reboot,
and that the server fault is only related to a OS failure, should I keep
a single-server solution (but I fear that I/O throughput will become
even more inadequate) or is it convenient to migrate in a 2-server
system? And, in case of 2-server configuration, what would you recommend?
Scenario 1:
Given 350 databases, I split them in 2, 175 on server 1 and 175 on
server 2, having pgBouncer to resolve the connections and each server
has its own workload
Scenario 2:
Server 1 -> Master, Server 2 -> Slave (Replicated with Slony or...?),
Server 1 for writes, Server 2 for reads
Last thing: should blobs (or the whole database directory itself) go in
a different partition, to optimize performance, or in VM environment
this is not a concern anymore?
I tried to be as brief as possible, if you need some more details....
just ask :-)
Thanks in advance,
Moreno.
--
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance