The UML kernel has a nice feature called Copy On Write (COW) which lets you start with a base filesystem image file, and then any incremental changes you make are written to a different file. This means it is easy to share a common read/write filesystem among lots of virtual machines.
My idea is to run a bunch of these virtual machines on a single physical host, and to have the underlying host run Postgres. The virtual machines would each run their own AOLserver process, and could communicate to the host postgres via TCP. I did some rough timing measurements, and running gcc to compile AOLserver inside a virtual machine was about 1/5 the speed of the compile on the host. This leads me to estimate that general performance of a virtual server will be about 1/5 of "native" execution. I am not sure how many virtual machines can comfortable run on a single physical host, but if they are lightly loaded, I would guess that it is roughly RAM limited, and 2 GB of main memory could probably host up to about maybe 50 or 100 virtual machines. They are of course all sharing the same CPU, RAM, and disk, so when I say lightly loaded, I mean it. Still, for casual use like personal web sites, this might be quite adequate, considering that I used to run a web server on a 50 MHz Pentium CPU.
I think the advantage is that you have a real "machine" all to yourself, you can have root access, you can install modified binaries of the server, you can compile extensions to the kernel even. I'd be interested to see if anyone tries to start selling leasing of these VM's rather than these sort of hacked up shared servers.