In a previous post I mentioned my current implementation of Team Foundation Server 2010. I'd like to start posting some things I learn during this process. In particular, from the technical and administrative standpoint. I am working in a large corporate environment that is moving to server virtualization rather than dedicated hardware servers more and more. I assume most companies are either doing this now or looking into it. This series of posts will be related to issues faced during the setup and configuration while working in virtual environment.
Memory Considerations
Getting a new virtual server setup at the corporate IT level is pretty nice where I work. I don't think its always been this way, but thanks to improvements in virtualization, I can have a production server in a couple days or less that is ready to host a SQL instance, host my applications in IIS, or whatever else I need. Our corporate standard is something like 30gb of disk storage on a D: or E: drive (not supposed to install other apps on C:), a single core of a processor, and something like 2gb of RAM. When filling out the resource request form, you can specify more resources to be allocated.
For my TFS2010RC deployment (which is for a very small team), I didn't bother asking for additional resources and it was a painful learning curve. Flat out, unless I did something wrong, TFS2010 with all options on a single box (SQL2008, reporting services, Sharepoint, and data warehousing) will not run on 2gb of RAM. This is not rocket science and I fully expect responses to this post to make fun of me for even considering it. But, I didn't consider it at all. Because its so fast and easy (and cheap) to get a new server setup now, I didn't do a lot of research. Common sense would indicate you'd want more RAM for just running a SQL Server install, but I just went with the default and right away when getting my first team portal up and running, the server was hating life and hammering memory utilization at 95% or higher all the time. Due to this, I ended up trying to create a new project collection which became corrupt due to a SQL task not finishing. (more on that later)
Fortunately, I was able to resolve this by sending a request to bump the server up to 4gb of RAM, and within the afternoon I was asked when someone could make the change and a simple reboot had doubled my memory.
All is well now. I run around 60% memory utilization, but there are probably some tweaks I could make to SQL Server to lower that threshold. Obviously you could also split your install up across multiple servers to scale out easier. But for now I am keeping it simple (and cheap) on a single instance.
Anyone else out there running a full TFS2010 install in a virtual server? Have hints, questions, comments? Drop me a line.





One Trackback/Pingback
[...] a follow up to my earlier post on TFS2010 and memory utilization on a VM (found here), I have applied the following setting to my SQL2008 instance and I’m restricting SQL to [...]
Post a Comment