Re: Postgresql in a Virtual Machine - Mailing list pgsql-performance

From David Boreham
Subject Re: Postgresql in a Virtual Machine
Date
Msg-id 5294CC51.5090609@boreham.org
Whole thread Raw
In response to Re: Postgresql in a Virtual Machine  (Craig James <cjames@emolecules.com>)
Responses Re: Postgresql in a Virtual Machine  (Craig James <cjames@emolecules.com>)
List pgsql-performance
On 11/26/2013 7:26 AM, Craig James wrote:
>
> For those of us with small (a few to a dozen servers), we'd like to
> get out of server maintenance completely. Can anyone with experience
> on a cloud VM solution comment?  Do the VM solutions provided by the
> major hosting companies have the same good performance as the VM's
> that that several have described here?
>
> Obviously there's Amazon's new Postgres solution available.  What else
> is out there in the way of "instant on" solutions with
> Linux/Postgres/Apache preconfigured systems?  Has anyone used them in
> production?

I've done some work with Heroku and the MySQL flavor of AWS service.
They work, and are convenient, but there are a couple of issues :

1. Random odd (and bad) things can happen from a performance perspective
that you just need to cope with. e.g. I/O will become vastly slower for
periods of 10s of seconds, once or twice a day. If you don't like the
idea of phenomena like this in your system, beware.

2. Your inability to connect with the bare metal may turn out to be a
significant hassle when trying to understand some performance issue in
the future. Tricks that we're used to using such as looking at "iostat"
(or even "top") output are no longer usable because the hosting company
will not give you a login on the host VM. This limitation extends to
many many techniques that have been commonly used in the past and can
become a major headache to the point where you need to reproduce the
system on physical hardware just to understand what's going on with it
(been there, done that...)

For the reasons above I would caution deploying a production service
(today) on a "SaaS" database service like Heroku or Amazon RDS.
Running your own database inside a stock VM might be better, but it can
be hard to get the right kind of I/O for that deployment scenario.
In the case of self-hosted VMWare or KVM obviously you have much more
control and observability.

Heroku had (at least when I last used it, a year ago or so) an
additional issue in that they host on AWS VMs so if something goes wrong
you are talking to one company that is using another company's virtual
machine service. Not a recipe for clarity, good service and hair
retention...







pgsql-performance by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: Postgresql in a Virtual Machine
Next
From: Craig James
Date:
Subject: Re: Postgresql in a Virtual Machine