Hi:
On Sun, Feb 16, 2014 at 1:02 AM, Antman, Jason (CMG-Atlanta)
<Jason.Antman@coxinc.com> wrote:
> ones to expire out of cache. I.e. we have hardware with 192G of RAM. If
> each database is only queried, say, for 10 seconds out of each 5 minute
> interval, how do we maximize resource utilization / squeeze as many DBs
> onto as few pieces of hardware as possible. If we spin up VMs every
> morning, we're back to where we are now, with one postgres sever per VM,
> and a large amount of physical memory being used up by virtualization
> overhead (guest OS) and idle postgres processes.
If you run many instances on the same machine, and make sure this 10
seconds are connection time ( beware of connection pools ) memory
reuse is between processes, not VMs, which OS are currently very good
at. You should try to minimize the shared-buffers used, as they are
tied per-instance, but it will help. I say this because my devs have
the nasty having of running their single user test environments with
heavy multiuser setups for the connection pool ( something like
minimum 8 connections, leave up to 10 free if unused, which, given
they only use 1 on tests, leads to 7 permanently unused backends, plus
one scarcely used but always resident ).
Francisco Olarte.