NTFS performances
Posted: Tue May 20, 2003 12:00 pm
Hi! i've gone through an article of A. Tannenbaum about NTFS structure, and it seems that - though it will certainly lead to better access performance than FAT filesystems, i wonder if there isn't a similar flaw.
So i would like to hear the voices of NTFS users to tell if they find it better than EXT2FS, for instance.
If i understood correctly, NTFS stores informations about file in a special file called the Master File Table. The MFT entries include (among other things) the list of sectors that are used by each file. Under EXT2FS, this information is stored in inodes (or in indirect index blocks that are themselves listed by the inode) and when a new block has to be allocated, the file system tries to allocate it in the same blocks group than its inode as possible (therefore reducing seek times for disk access).
If a NTFS partition goes bad, we could find in a situation where the MFT entry is at one end of the disk (and potentially fragmented), and the file data are at the other end. Therefore, every time the file gets new blocks, the MFT must be modified, which requires almost the maximum latency.
Do Windows NT users experience such performance degradations ? do they have to observe "Thou Shalt run Defrag Frequently" commandment of the Win9x user ?
The same observation can be done for disk usage : NTFS has one big bitmap (okay, this is a file, so it's not necessarily located physically at the start of the disk) while EXT2FS scatters its bitmap all across the disk, (each blocks group has its own small bitmap. If a block group fits a cluster, it means that allocating a block in a group and then write data to it is always done at the maximum speed )
Or maybe Bill has dark magic in the block allocation policy that forces a fragmentation of the "Free bitmap" file at NTFS formatting, so that its performances approaches EXT2FS ?
So i would like to hear the voices of NTFS users to tell if they find it better than EXT2FS, for instance.
If i understood correctly, NTFS stores informations about file in a special file called the Master File Table. The MFT entries include (among other things) the list of sectors that are used by each file. Under EXT2FS, this information is stored in inodes (or in indirect index blocks that are themselves listed by the inode) and when a new block has to be allocated, the file system tries to allocate it in the same blocks group than its inode as possible (therefore reducing seek times for disk access).
If a NTFS partition goes bad, we could find in a situation where the MFT entry is at one end of the disk (and potentially fragmented), and the file data are at the other end. Therefore, every time the file gets new blocks, the MFT must be modified, which requires almost the maximum latency.
Do Windows NT users experience such performance degradations ? do they have to observe "Thou Shalt run Defrag Frequently" commandment of the Win9x user ?
The same observation can be done for disk usage : NTFS has one big bitmap (okay, this is a file, so it's not necessarily located physically at the start of the disk) while EXT2FS scatters its bitmap all across the disk, (each blocks group has its own small bitmap. If a block group fits a cluster, it means that allocating a block in a group and then write data to it is always done at the maximum speed )
Or maybe Bill has dark magic in the block allocation policy that forces a fragmentation of the "Free bitmap" file at NTFS formatting, so that its performances approaches EXT2FS ?