Splitting up a server with 6 gigs of ram using Xen is a great way to make it easy for yourself to scale later. It also separates concerns so they run independently of each other. It is true that since it is all on the same piece of hardware that you still have a single point of failure if your hardware crashes. But it makes it much easier to scale to more servers later. You can actually move a running Xen instance to another physical server *while it is still running*.
Also Xen is a serious performance leader in the virt server field. You really only have about 5% perf loss compared to raw hrdware and Xen VM's. We have built our entire business around Xen based rails hosting http://engineyard.com . And even when we sell dedicated servers to people we are still running Xen even if they only have one Xen VM that takes up the entire server. This allows for much easier migration to different hardware in the future.
Xen is awesome and I think it is a good idea to split up your server like you are thinking about. You haven't given enough details about the hardware(processor type et al) and your app for me to give you any performance or capacity estimates. But you will be able to serve quite a lot of traffic off of a box like you have.
I would recommend if you haven't bought the hardware yet that you consider getting two servers with maybe 2 or 4 gigs of ram each. And then split up your app across two servers. Run identical VM'x on each server so you have one DB VM on each server and a few App server VM's on each server and two Web static file VM's on each server. This will give you much more reliability then one server.