Apparently postgresql runs at 11% to 45% of normal speed in VMware
workstation. Basically it could be about 1/10th the performance for OLTP
stuff.
See here:
http://www.cl.cam.ac.uk/Research/SRG/netos/xen/performance.html
(Notice also that the web server performance is less than 30% of native).
I daresay those figures are applicable for VMware GSX as well. So unless
you are talking about VMware ESX (which I seriously doubt) don't expect
VMware stuff to run at near full speed especially for complex stuff (e.g.
not SPECINT), until _maybe_ sometime next year on next year's hardware -
Intel's Vanderpool or AMD's Pacifica.
In my own experience postgresql runs much faster native than running in vmware.
Seriously though, if you are doing development vmware is fine. But when
it's time to test performance, then if it's slow, you have to try it on
real hardware to confirm whether it really is slow or not. If it's fast
enough on vmware, then you're lucky :).
Basically if you are running something in vmware workstation/GSX, you
should be thankful if it runs fast enough. For VMware ESX, apparently stuff
like I/O is significantly faster - but I haven't had a chance to test it :).
Even if postgresql somehow performs rather more poorly than other DBs on
virtual machines, I doubt the developers should invest much time in
optimizing postgresql for current imperfect virtual machines. Especially
with virtualization friendly x86 hardware on the horizon...
Link.