Hello,
I've similar issues, on my helios64 and I don't see how to correct it.
I'm trying to replace my classic 4 disks raid5 ext4 with by a equivalent raidz1
What I've done so far:
1 - Added a 8TB on my 5th slot and format it with btrfs
2 - back up all my data on it with rsync, I got an avg write speed of 105-110MB/s on big files (HD movies, usually around 10-15GB each) which is really OK for me as my NAS sits on 1Gb network, more isn't necessary.
3 - create the pool the way it's described on helios NFS tutorial (I've since created a few datasets with different recordsize)
4 - rsync back my data on the new raidz
And I do get very poor results
Initially I did get around 35 MB/s, after tinkering a lot with recordsize (now it's 1M) and stuff I managed to go up to 55 MB/s, but it's still way too slow to my taste
I've benchmarked a few uses cases, with a single 5GB file and here are the results
Seems like when rsynch worked on only one file, it goes slightly faster (74MB/s)
raidz -> btrfs
root@helios64:/mypool/video# rsync -av --progress pipot/ /srv/dev-disk-by-id-ata-ST8000NM0055-1RM112_ZA1K2SN4-part1/backup/video/pipot/
sending incremental file list
...
sent 4,916,400,124 bytes received 138 bytes 95,464,082.76 bytes/sec
total size is 4,915,200,000 speedup is 1.00
btrf -> raidz
root@helios64:/mypool/video# rsync -av --progress /srv/dev-disk-by-id-ata-ST8000NM0055-1RM112_ZA1K2SN4-part1/backup/video/pipot/ ./pipot2/
sending incremental file list
...
sent 4,916,400,124 bytes received 69 bytes 73,930,829.97 bytes/sec
total size is 4,915,200,000 speedup is 1.00
raidz -> raidz
root@helios64:/mypool/video# rsync -av --progress pipot/ /pipot3/
sending incremental file list
...
sent 4,916,400,124 bytes received 68 bytes 57,501,756.63 bytes/sec
total size is 4,915,200,000 speedup is 1.00
btrfs -> btrfs
root@helios64:/mypool/video# rsync -av --progress /srv/dev-disk-by-id-ata-ST8000NM0055-1RM112_ZA1K2SN4-part1/backup/video/pipot/ /srv/dev-disk-by-id-ata-ST8000NM0055-1RM112_ZA1K2SN4-part1/backup/video/pipot2/
...
sent 4,916,400,124 bytes received 139 bytes 68,760,842.84 bytes/sec
total size is 4,915,200,000 speedup is 1.00
I've tried messing with dd, I get results that match Alexander's, it really seems to be a read speed as when I created the original testfile from /dev/zero, the speed maxes out at around 32k
Creating the testfile from /dev/zero
root@helios64:/mypool/video# dd if=/dev/zero of=testfile1 count=150000 bs=32k status=progress
4791074816 octets (4,8 GB, 4,5 GiB) copiés, 12 s, 399 MB/s
150000+0 enregistrements lus
150000+0 enregistrements écrits
4915200000 octets (4,9 GB, 4,6 GiB) copiés, 12,2836 s, 400 MB/s
just coping the file
bs 512 (I interptuded it before it finished)
root@helios64:/mypool/video# dd if=testfile1 of=testfile2 bs=512 status=progress
17506304 octets (18 MB, 17 MiB) copiés, 24 s, 729 kB/s
bs 4k -> 5,8 MB/s
bs 8k -> 10,9 MB/s
bs 16k -> 22,8 MB/s
bs 32k -> 43,5 MB/s
bs 64k -> 76,0 MB/s
bs 128k -> 129 MB/s
bs 512k -> 264 MB/s
bs 1M -> 371 MB/s
bs 4M -> 397 MB/s
So how can I make a rsync (or cp for that matter), perform the same way i dd?
Thanks