Disk array segment size

pinne65

Member
Progress 10.1B03, AIX 5.3

I've seen a couple of postings on various sites mentioning making disk array segment size "closer" to database block size would increase db throughput. Db blocksize is 8K and the array segment size is 128K.

After reading the best practices for our array, DS4300, it seems like it's maybe not as simple as that. Comments welcome.
 
I think that you are confusing the concept of the file system block size with the disk array stripe size.

In any event it doesn't really matter so much. At least not on a real OS like AIX ;) Once upon a time filesystems were simple and they used fixed size blocks (Windows still does). These days filesystems are much more complex and they use variable "extents" and journaling. Furthermore all of the parts of the puzzle are pretty good at buffering and optimizing your IO -- so if you ask for 8k and it actually takes 2 4k blocks from the SAN and 16 512 byte blocks from the disk every layer uses various read-ahead and buffering alogrithms to grab your data.

The stripe size is slightly different -- this controls how data gets spread across disks (or LUNS) and you want this to be smaller rather than larger. Small stripe sizes spread the data and help to smooth out your IO ops avoiding "hot spots".

The db block size should be either 4k or 8k. In many tests 8k will be slightly faster. But probably not dramatically so.
 
Back
Top