Does using a large NTFS disk allocation size for a file share make a difference?
Solution 1:
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.
Be aware that the larger the allocation unit size, the more disk space that will be wasted. This is true regardless of the sizes of the files stored on the volume. If the allocation unit size is 64K and you save a 50K file, 14K will be wasted. If you save a 800K file, it will be divided into 13 chunks, but the 13th chunk will only have 32K of data resulting in 32K of wasted disk space.
A resource for performance tuning of NTFS drives can be found here: https://web.archive.org/web/20090724155321/http://www.windowsdevcenter.com/pub/a/windows/2005/02/08/NTFS_Hacks.html
Good luck, any further questions dont hesitate in asking.
Lima
Solution 2:
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.