public inbox for [email protected]  
help / color / mirror / Atom feed
From: Moreno Andreo <[email protected]>
To: [email protected]
Subject: Architectural question
Date: Thu, 11 Feb 2016 19:06:42 +0100
Message-ID: <[email protected]> (raw)
List-Unsubscribe:  <mailto:[email protected]?body=unsub%20pgsql-performance>

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 ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance



reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected]
  Subject: Re: Architectural question
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox