Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We are considering a virtual machine for the app tier in a dual server TFS deployment as it will not be performing heavy IO. Does anyone have any good or bad experiences to share using this approach (specifically around performance)?

Found some guidance from bharry (Microsoft employee working on VSTS) here.

share|improve this question
up vote 2 down vote accepted

As you note, the app tier does not perform heavy I/O, and is usually a good candidate for virtualization. I don't know your specific environment, so testing it with a representative load will be the best way to get a definitive answer, but it has the "It works for me" seal of approval :) The data tier (SQL Server) runs much better directly on top of hardware (but it sounds like that is what you are doing anyways).

If you are running multiple VMs on the server hosting the TFS App Tier VM, just be aware (and I know this is blindingly obvious) that the other VMs will be competing for the same resources as the TFS VM (RAM, CPU, Network, and Disk), so plan accordingly.

share|improve this answer

I know many people that run with this configuration and it works well for them. I know of at least one company with fairly heavy load (24x7 development around the globe with around 200 users accessing the system during the day), and this configuration is working fine for them. They did have issues when the SQL server was virtualized but have been running fine since SQL was given it's own box. The key is (as with all VM's used in production) to be sure that the AT VM has sufficient resources and is not competing with other VM's on the host device too heavily. Under low resource conditions the ASP worker process running in IIS can start recycling heavily which can lead to some issues.

While the IO of the AT is fairly low, it actually caches files that are uploaded in version control to avoid having to re-build the file from the delta's stored in the database when someone requests that particular version. Therefore it is still worth doing all the usual good practices with production VM's such as using fixed disks etc

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.