Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm formatting a drive using NTFS which will be dedicated as a file share for users to centrally store their files. The files will likely be large (10's to 100's of megabytes).

Someone suggested that using a large allocation unit size than the default 4k (e.g. 64k) will make it perform better. I think I understand the basic principle behind it, but I'm not sure if its valid in practice. Will this truly make a difference or is this something that may cause more problems than it solves?

share|improve this question

3 Answers 3

A larger allocation size will increase performance when using larger files. If they are all going to be large files then it might pay to increase the allocation size to 32KB or 64KB.

A resource for performance tuning of NTFS drives can be found here: http://www.windowsdevcenter.com/pub/a/windows/2005/02/08/NTFS_Hacks.html

Good luck, any further questions dont hesitate in asking.

Lima

share|improve this answer
    
Just remember that it will cause files to use more disk space (it will round file sizes up to the nearest full block), so if disk space is an issue or if there will also be smaller files, you should consider carefully. –  Catherine MacInnes Jul 2 '09 at 15:24

Setting the allocation block size can improve performance for accessing large files, but it is unlikely to improve the performance of a network fileshare noticeably as other bottlenecks will dwarf any local benefit.

There are some things to look out for:

  • files will take more space, so if you have a lot of small files this will be a problem
  • accessing small files may be slower as the system reads whole blocks at a time (so reading 64Kb for a 1Kb file if you use 64Kb blocks), though depending on the read-ahead behaviour of your drives this may not be noticeable
  • you might find that it actually harms performance when the access pattern is very random and/or there are many concurrent processes accessing the resource over the network

My gut suggests that you would not notice much benefit (or detriment) performance wise in must use cases, and my gut is quite large so I don't tend to argue with it, so I would stick with smaller cluster sizes for space use efficiency.

share|improve this answer

I think the general idea is that larger = better performance at the cost of disk space.

There is a rumble online that changing the default size will cause badly coded disk utilities to error or fail, so you might want to keep that in mind if you plan not to plan for backups ;-)

share|improve this answer

Your Answer

 
discard

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.