1

I'm putting together a Windows box that will act as a continuous integration build server; we'll mostly build C# stuff using MSBuild, but I think this question applies to any compiled language on Windows.

What filesystem configuration settings should I use? (e.g. disabling NTFS last access time) The build server will spend a lot of time reading and writing small files, and scanning directories to see which files have been modified.

NOTE: Data integrity is a low priority in this case; it's just a build machine ... the final artifacts will be zipped up and archived elsewhere. If the filesystem on the build machine gets corrupted and loses all data, we can just wipe and re-image; builds will continue running as before. So we're prepared to play fast and loose with data integrity to get better performance.

Jim B
  • 23,938
  • 4
  • 35
  • 58
Dan Fabulich
  • 477
  • 1
  • 6
  • 17
  • This question is nearly a clone of my earlier question for Linux, but none of the answers there are relevant for optimizing MSBuild performance! http://serverfault.com/questions/230925/whats-the-fastest-filesystem-for-developer-builds – Dan Fabulich Mar 29 '11 at 21:33
  • 2
    Have you benckmarked the machine without any "optimizations"? Maybe there isn't anything that needs to be done. I always take the approach of finding a problem then a solution, not the other way around (snark not intended). – joeqwerty Mar 29 '11 at 22:00

1 Answers1

1

the settings you might want to tune are:

NtfsDisable8dot3NameCreation (1), NtfsDisableLastAccessUpdate(1),NtfsMftZoneReservation(4)

Zone reservation should be set juat after or prior to formatting the disk

All of these keys are under HKLM/SYSTEM/CurrentControlSet/Control/FileSystem

That being said, as long as it's running 2008 r2 you should be all set with the defaults as many of these "extra" operations will be cached anyway.

I would take a look at Performance Tuning Guidelines for Windows Server 2008 R2 to get better file server performance.

Jim B
  • 23,938
  • 4
  • 35
  • 58