Hi @alobi
Ok, I have a similar machine, it boots off an SSD, and has a raidz made up of three partitions spread across 3 old hdds (750G, 1.5T, 2.0T). The drives are old and have been ejected from my main array in some cases due to possible hardware failures. Ashift and compression help performance significantly, especially with 4k sector disks. I doubt your disks are 4k due to their size (proxy for age). These are all internal SATA connected. If you are using USB the results will be very different.
First of all to create a zfs dataset on a mac:
- Code: Select all
zpool create -o ashift=12 -O casesensitivity=insensitive -O normalization=formD -O compression=lz4 tank raidz disk1s1 disk2s2 disk3s2
Copying a large file ~3G from the ssd to the raidz:
- Code: Select all
fatmac:~ zadmin$ sudo time cp apps.tar /Volumes/tank/brendon/
16.75 real 0.00 user 4.69 sys
and disk performance:
- Code: Select all
zpool iostat 1
big 206G 954G 0 0 0 0
small 16.0M 696G 0 0 0 0
tank 1.39G 2.03T 0 1.16K 0 146M
---------- ----- ----- ----- ----- ----- -----
big 206G 954G 0 0 0 0
small 16.0M 696G 0 0 0 0
tank 1.39G 2.03T 0 1.43K 0 182M
---------- ----- ----- ----- ----- ----- -----
big 206G 954G 0 0 0 0
small 16.0M 696G 0 0 0 0
tank 1.39G 2.03T 0 1.40K 0 164M
---------- ----- ----- ----- ----- ----- -----
big 206G 954G 0 0 0 0
small 16.0M 696G 0 0 0 0
tank 2.11G 2.03T 0 1.37K 0 175M
Now, copying /Applications to the raidz (many small files). This is going to be much slower. I did this because you don't say what size files you are copying. /Applications is full of small files typically. If I were to copy large amounts of media files, I would get performance more like the first case.
- Code: Select all
zpool iostat 1
big 206G 954G 0 0 0 0
small 16.0M 696G 0 0 0 0
tank 7.88G 2.02T 173 0 276K 127K
---------- ----- ----- ----- ----- ----- -----
big 206G 954G 0 0 0 0
small 16.0M 696G 0 0 0 0
tank 7.97G 2.02T 18 647 51.8K 64.1M
---------- ----- ----- ----- ----- ----- -----
big 206G 954G 0 0 0 0
small 16.0M 696G 0 0 0 0
tank 7.97G 2.02T 2 0 2.49K 128K
---------- ----- ----- ----- ----- ----- -----
big 206G 954G 0 0 0 0
small 16.0M 696G 0 0 0 0
tank 7.97G 2.02T 0 2 0 383K
---------- ----- ----- ----- ----- ----- -----
big 206G 954G 0 0 0 0
small 16.0M 696G 0 0 0 0
tank 7.97G 2.02T 0 0 0 128K
---------- ----- ----- ----- ----- ----- -----
big 206G 954G 0 0 0 0
small 16.0M 696G 0 0 0 0
tank 7.97G 2.02T 0 1 3.98K 255K
---------- ----- ----- ----- ----- ----- -----
big 206G 954G 0 0 0 0
small 16.0M 696G 0 0 0 0
tank 8.07G 2.02T 2 803 12.0K 61.4M
---------- ----- ----- ----- ----- ----- -----
big 206G 954G 0 0 0 0
small 16.0M 696G 0 0 0 0
tank 8.07G 2.02T 0 1 0 71.9K
---------- ----- ----- ----- ----- ----- -----
big 206G 954G 0 0 0 0
small 16.0M 696G 0 0 0 0
tank 8.07G 2.02T 0 0 0 36.0K
---------- ----- ----- ----- ----- ----- -----
big 206G 954G 0 0 0 0
small 16.0M 696G 0 0 0 0
tank 8.07G 2.02T 33 2 25.4K 107K
You can see a pattern forming there. Its probably averaging 20MB a second. ZFS is definitely slower that HFS in almost all respects. It is designed for robustness, not performance. It is the nature of the beast.
Don't use the finder to play with read and write permissions, use the command line.
You can do similar tests on your machine, and report back.
Brendon