pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Boszormenyi Zoltan <zb@cybertec.at>
To: Heikki Linnakangas <hlinnakangas@vmware.com>
To: Lee Nguyen <leemobile@gmail.com>
Cc: pgsql-performance@postgresql.org
Subject: Re: Postgresql in a Virtual Machine
Date: Tue, 26 Nov 2013 14:51:59 +0100
Message-ID: <5294A77F.8050508@cybertec.at> (raw)
In-Reply-To: <5293B0B9.1060200@vmware.com>
References: <CAHghi5Cj_6KmwaUopF3y=vSjs3Q83VyXQy5DQhfLyP_Zt0yxbA@mail.gmail.com>
	<5293B0B9.1060200@vmware.com>
List-Unsubscribe:  <mailto:majordomo@postgresql.org?body=unsub%20pgsql-performance>

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.

The PostgreSQL server versions 9.2.x, 9.3beta were tested with pgbench,
standalone, without replication.

Best regards,
Zoltán  Böszörményi

> Synchronous replication is likely going to be the biggest bottleneck by far, unless it's 
> mostly read-only. I don't know if virtualization will have a measurable impact on 
> network latency, which is what matters for synchronous replication.
>
> So, I'd suggest that you try it yourself, and see how it performs. And please report 
> back to the list, I'd also love to see some numbers!
>
> - Heikki
>
>


-- 
----------------------------------
Zoltán Böszörményi
Cybertec Schönig & Schönig GmbH
Gröhrmühlgasse 26
A-2700 Wiener Neustadt, Austria
Web: http://www.postgresql-support.de
      http://www.postgresql.at/



-- 
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance



view thread (30+ messages)  latest in thread

Message-ID: <5294A77F.8050508@cybertec.at>
Permalink:  ../5294A77F.8050508@cybertec.at/
Also on:    postgresql.org/message-id/5294A77F.8050508@cybertec.at

 · 

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: pgsql-performance@postgresql.org
  Cc: zb@cybertec.at, hlinnakangas@vmware.com, leemobile@gmail.com
  Subject: Re: Postgresql in a Virtual Machine
  In-Reply-To: <5294A77F.8050508@cybertec.at>

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

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