views:

80

answers:

2

I am trying to set up a clean vm I will use in many of my devs. Hopefully I will use it many times and for a long time, so I want to get it right and set it up so performance is as good as possible. I have searched for a list of things to do, but strangely found only older posts, and none here.

My requirements are:

  • My host is Vista 32b, and guest is Windows2008 64b, using Vmware Workstation.
  • The VM should also be able to run on a Vmware ESX
  • I cannot move to other products (VirtualBox etc), but info about performance of each one is welcomed for reference. Anyway I guess most advices would apply to other OSs and other VM products.
  • I need network connectivity to my LAN
  • When developing/testing, guest will run several java processes, a DB and perform some file I/O

    What I have found so far is:

    1. HOWTO: Squeeze Every Last Drop of Performance Out of Your Virtual PCs: it's and old post, and about Virtual PC, but I guess most things still apply (and also apply to vmware).
    2. I guess it makes a difference to disable all unnecessary services, but the ones mentioned in 1 seem like too few, I specifically always disable Windows Search. Any other service I should disable?
A: 

My host is Vista 32b, and guest is Windows2008 64b,

First mistake. Seriously, why not running 64 bit even on Vista? This would give your VM a good memory space to work with, while now even if it is possible with VmWare it goes through really nasty API's in the Windows layer.

That said, why use Vista as host? Why not directly load a 2008 R2 host, configure it into workstation mode (heck, you even get our friendly AERO if you install all the things the server leaves out per default) and be happy with it?

I guess it makes a difference to disable all unnecessary services,

Hm, seriously? I run a couple of Hyper-V hosting servers on top of physical domain controllers without any reconfiguration and with good enough (i.e. great) perforamnce. Helps I dont ahve the typical workstation bottleneck (i.e. one overloaded hard disc). I never found a reason to disable any service for squeezing the last performance out.

Guest will run many java processes, a DB and perform lots of file I/O

Well, get proper hardware for that. I.e. a hardware RAID controller, and a LOT of drives - in accordance with your needs. DB is IO sensitive. VERY sensitive.

TomTom
This is a corporate workstation, not my own, comes with Vista 32b.When in production IT WILL run in proper hardaware. I am asking about the VM needed while development, I need to test integrating our code with a third party code (several versions, etc, so the need to use several VMs). Also, it is several java processes, not many, I edited this.
raticulin
Then - I am sorry - you ask the wrong question. Because you can not get anywhere near decent performance from that setup FOR A DATABASE W§ITH LOTS OF IO. Your problem is not optimizing th ememory, your problem is a typical 75 IPS workstation disc. Once the Database starts working, you are basically being limited by that one.
TomTom
I edited again so it's more clear. Anyway, depending on the way the vm is set up (which disk, following advices in [1] or not...) the guest with my test workload will ran BETTER than if run on a default OS install etc, don't you agree?
raticulin
No. Seriously - if you run into disc bound, it may run 1% or 2% faster. That wont make a difference.
TomTom
A: 

You can try to run the CD/DVD through vLite to remove unwanted crap. I'm not 100% sure if Windows 2008 server is supported but you could give it a try. I've successfully stripped down XP with nLite to about 200MB with only the bare minimum I need for testing software. You might be able to do something similar to Windows 2008 with vLite.

rarbox