On 11/26/2013 08:51 AM, Boszormenyi Zoltan wrote:
2013-11-25 21:19 keltezéssel, Heikki Linnakangas írta:
On 25.11.2013 22:01, Lee Nguyen wrote:
Hi,
Having attended a few PGCons, I've always heard the remark from a few
presenters and attendees that Postgres shouldn't be run inside a VM.
That
bare metal is the only way to go.
Here at work we were entertaining the idea of running our Postgres
database
on our VM farm alongside our application vm's. We are planning to
run a
few Postgres synchronous replication nodes.
Why shouldn't we run Postgres in a VM? What are the downsides? Does
anyone
have any metrics or benchmarks with the latest Postgres?
I've also heard people say that they've seen PostgreSQL to perform
worse in a VM. In the performance testing that we've done in VMware,
though, we haven't seen any big impact. So I guess the answer is that
it depends on the specific configuration of CPU, memory, disks and
the software.
We at Cybertec tested some configurations about 2 months ago.
The performance drop is coming from the disk given to the VM guest.
When there is a dedicated disk (pass through) given to the VM guest,
PostgreSQL runs at a speed of around 98% of the bare metal.
When the virtual disk is a disk file on the host machine, we've measured
20% or lower. The host used Fedora 19/x86_64 with IIRC a 3.10.x Linux
kernel
with EXT4 filesystem (this latter is sure, not IIRC). The effect was
observed
both under Qemu/KVM and Xen.
The virtual disk was not pre-allocated, since it was the default setting,
i.e. space savings preferred over speed. The figure might be better with
a pre-allocated disk but the filesystem journalling done twice (both
in the
host and the guest) will have an effect.
Not-pre-allocated disk-file backed is just about the worst case in my
experience.
Try pre-allocated VirtIO disks on an LVM volume group - you should get
much better performance.
cheers
andrew
--
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance