DaveWentzel.com            All Things Data

Sector, Cluster, and Stripe Sizes


Sector Size vs. Stripe Size
The sector size is the smallest physical storage unit on the disk.  This is determined by the disk manufacturer but is generally 512 bytes. 
The stripe size is the unit of data that is written and accessed from a disk in a RAID system.  This is configurable by the SAN folks.  Smaller stripe sizes allows data to be distributed to more disks and increases I/O parallelism.  64KB (a sql server extent) is the lower limit.  64KB or 256KB should work for most sql server workloads.  256 allows for more efficient read-ahead. 
See Disk Terminology for more information. 
Set the NTFS allocation unit to 64 KB
this is the cluster size in disk administrator
Split I/O's

For SQL Server, the 8-KB blocks need to be handled as a single block of data. Systems that split I/Os must be configured to avoid splitting I/O requests into smaller blocks. Some dynamic disk and volume managers can be configured with block and cluster sizes that are smaller than 8 KB or not on 8-KB boundaries. These systems may split the SQL Server I/O request across physical system components. In doing so, they can introduce the possibility of torn pages and they can destroy true write ordering precedence.

Ensure that your system does not allow data to be broken down in such a manner as to introduce torn page possibilities.  This can be monitored using the torn page detection in SQL Server...but your disk subsystem should be configured to avoid it in the first place. 

Diagnosing with PerfMon


Add new comment