From: | Dong Ye <yed(at)vmware(dot)com> |
---|---|
To: | "Gudmundsson Martin (mg)" <martin(dot)mg(dot)gudmundsson(at)volvo(dot)com>, Heikki Linnakangas <hlinnakangas(at)vmware(dot)com> |
Cc: | "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org> |
Subject: | Re: Postgresql in a Virtual Machine |
Date: | 2013-11-28 02:58:20 |
Message-ID: | CAEHKxOGTQx=4cnCsV3Bm0D4GYLtqR63Qit5NjtxCEnc1dYD+tw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
On Mon, Nov 25, 2013 at 4:00 PM, Gudmundsson Martin (mg)
<martin(dot)mg(dot)gudmundsson(at)volvo(dot)com> wrote:
>
> I would also make sure to check that the hypervisor does write to permanent storage before returning to the VM with acknowledgement.
>
In the case of ESX, there is no such concern per
http://kb.vmware.com/kb/1008542.
As Heikki commented, VMware recently compared Postgres performance in
an ESX (5.1) VM versus in a comparable native Linux. We saw 1.
ESX-level locking causes no vertical scalability degradation, 2.
Memory oversubscription can indeed be a performance hazard when
consolidating mulitple Postgres VMs on one host. Yet we found moderate
memory oversubscription (up to 20%) might work out fine: we saw <5%
degradation at 20% memory oversubscription in a conventional setup
(where Postgres server uses 25% memory shared_buffers and VM uses
out-of-the-box kernel-level memory ballooning.) Nitty-gritty details
can be found in the whitepaper
http://www.vmware.com/files/pdf/techpaper/vPostgres-perf.pdf
(Disclaimer: I'm a author.)
As many pointed out here, storage is most likely where extra care of
capacity planning can be used when weighing putting Postgres in a VM
versus natively. Our tests (during the same period as those towards
the above observations) read: pgbench default saw ~10% degradation at
28 pgbench clients on a 32-core Intel Sandy Bridge machine; and dbt2
with zero thinking/keying/ time saw ~30% degradation at 28 dbt2
terminals on the same machine. In both cases, the regression is
gradually and increasingly more pronounced as concurrency ramps up
(starting from <5% degradation at 1 client/terminal in both cases.)
Regards,
Dong
From | Date | Subject | |
---|---|---|---|
Next Message | Gudmundsson Martin (mg) | 2013-11-28 08:45:24 | Re: Postgresql in a Virtual Machine |
Previous Message | Metin Doslu | 2013-11-27 08:28:30 | Parallel Select query performance and shared buffers |