• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

ZFS different alignment benchmark

Legen

n00b
Joined
Feb 6, 2011
Messages
51
So I tested how a zpool with ashift=9 performed versus a zpool with ashift=12.

The drives used where the Seagate Barracuda green 2TB 5900RPM SATA3 64MB (ST2000DL003). These drives are 4kb drives but uses a SmartAlign technology for handling it, I haven’t been able to find any info on how it works tho.

I tested setups with both 3 and 4 disks in RAIDZ1.
The machine was an AMD II X4 630, 12 GB ECC memory, Asus M4A785TD-V.

What I did:
I started by creating a basic zpool on Solaris Express 11, then when running the command:
Code:
zdb tank | grep ashift
it returned ashift=9.
From napp-it I then ran the bonnie++ benchmark and got these numbers:

When using 3 drives in RAIDZ1
Bonnie3DISK_RAIDZ1_ASHIFT9_INBYGGDA.png

When using 4 drives in RAIDZ1
Bonnie4DISK_RAIDZ1_ASHIFT9_INBYGGDA.png


Now to create a zpool with the ashift=12 I had to use ZFS Guru. I downloaded the Live CD and from the GUI created a zpool with:
Sector size override 4k
Now when using
Code:
 zdb tank | grep ashift
it returned ashift=12.


Then I restarted with Solaris Express 11 and did a simple zpool upgrade test and then ran the bonnie++ benchmark from the GUI.

When using 3 drives in RAIDZ1
Bonnie3DISK_RAIDZ1_ASHIFT12_INBYGGDA.png

When using 4 drives in RAIDZ1
Bonnie4DISK_RAIDZ1_ASHIFT12_INBYGGDA.png


So the question is, why is it faster using ashift=9 when the disks are 4kb disks. The only thing improving when using ashift=12 is the read when using 3 Drives. By the looks of it there's no point in struggling with the align=12 since i get worse performance :)

I'm also considering getting a fifth Seagate drive so I have that "optimal" number of drives when using RAIDZ1, but so far I have had no problem running 4 drives in RAIDZ1.

Thoughts?
 
Wow thanks for the taking the time to test this out. Results are really interesting.

I was convinced that not using the ashift=12 would degrade performance of the pool. After reading so much stuff about the importance of aligning partitons to a 4KiB disk I find the results mind-boggling.

Do you have any idea what was the cause of the lower bandwidth?
 
on http://www.hardwareluxx.de/community/f101/zfs-anwender-gesucht-570052-47.html
you can find a comparison of WD20EARS (4k) vs Hitachi 5k3000 (512b)
(4k disks used without any pool modifications)

WD20EARS vs Hitachi 5k3000

Bonnie Write 77MB/s 87MB/s
Bonnie Read 129MB/s 184MB/s

SMB Write >= 79MB/s >= 91MB/s
SMB Read >= 105MB/s >= 102 MB/s

Scruben 105 MB/s 115 MB/s


The 4 k dives are about 10% slower
It is undecided if that is due to 4k or because of the fact that the Hitachis are slightly faster than the EARS.

I also would not modify internal ashift settings of a vdev.
The advantage is not big enough to justify the act.
(You need more than say 30% for an ah..., yes i can feel it - effect)

One should also do several benchmarks and use an average value because the next benchmark delivers slightly different values.
The difference between benches can be bigger than the reported differences between ashift 9 and ashift 12 values.
(using other sectors, fragmentation, different load etc)
 
Last edited:
Back
Top