Partition Alignment on 4k-Sector ("Advanced Format") Drives

There a lot of discussion about how to partition 4k drives which falsely report 512b sectors, but not a lot of information about the consequences of getting it wrong, so I did some tests. On a Seagate ST2000DL003, which reports itself as having 512B sectors and doesn't even have a warning on the label, I used the bonnie++ benchmark to perform a subset of tests on an ext3 filesystem starting at various locations. I also tested sector 72 to make sure that 8 was really the magic factor, as opposed to a larger number such as 64.

In the results below, the starting sector appears in the "machine name" column.

Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
63               8G           28564   6  7040   1           10828   0 165.9   3
Latency                        1235ms     719ms             87156us     824ms
64               8G           29969   6 15526   2           44117   2 200.5   3
Latency                        1126ms     460ms             24127us     764ms
65               8G           28594   6  7067   1           11186   0 173.9   2
Latency                        1171ms     433ms               719ms     805ms
72               8G           30110   6 15475   2           44907   2 201.5   3
Latency                        1169ms     712ms             21640us     795ms

Generated with a command such as `bonnie++ -m65 -d /mnt -f -n 0 | tee -a bonnie.log`

Conclusions: Sequential writes are unaffected, but random writes and sequential reads are significantly affected by having the correct alignment. I was surprised by the large effect on sequential reads. 8 sectors is the right factor; no more is required.

New test in 2015 - WD30EFRX

I tested fewer cases here, but confirmed that the alignment still matters and the drive still lies about its sector size. Look especially at the rewrite time. The parted tool is now correctly reporting alignment, so you should be able to follow its advice and not worry about it anymore.
Version  1.97       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
4096s        31920M           134096  11 39904   5           174552   9 223.8   4
Latency                         174ms     459ms               124ms    5340ms
4095s        31920M           111141  10 25646   3           165830   8 171.4   3
Latency                         362ms     309ms               380ms    7463ms

1.97,1.97,4096,1,1444665581,31920M,,,,134096,11,39904,5,,,174552,9,223.8,4,,,,,,,,,,,,,,,,,,,174ms,459ms,,124ms,5340ms,,,,,,

1.97,1.97,4095,1,1444703284,31920M,,,,111141,10,25646,3,,,165830,8,171.4,3,,,,,,,,,,,,,,,,,,,362ms,309ms,,380ms,7463ms,,,,,,

This page most recently modified on: Tuesday, 13-Oct-2015 08:18:43 EDT

the w3c sucks, but this page is still valid
Copyright 2015 by Terran Melconian. You may mirror this page for personal use. All other rights reserved.
Contact, unfortunately now obfuscated due to ongoing spammer harvesting, is [myfirstname] at consistent.org.