I have NTFS Seagate 8TB Backup Plus HDDs attached to my Vero.
They are SMR drives, not know for performance, but fine for write once and read many.
The USB 2.0 is a bit of a bottleneck but your speeds should be faster than <1.5 MB/s!
I can usually get just under 30 MB/s at best but after the update I’ve been getting around 15 MB/s.
This is coming from a Windows 10 laptop SSD hardwired to the same switch as my Vero.
Don’t waste your time formatting thinking you will gain write performance over the network.
Both NTFS and Ext4 will both be faster than the USB 2.0 interface.
The Vero will perform better with Ext4 if you have other services running in the background on the Vero like torrents or something.
If all you do is media playback, there’s no measurable difference.
Trust me, I’ve tested this several times with over eight different drives.
There’s definitely something going on, but I’d like to see what performance you get transferring a file to the Vero’s local on chip storage.
I just ran a test using iperf and things looked fine with the new update.
osmc@osmc:~$ iperf3 -R -c 192.168.50.14
Connecting to host 192.168.50.14, port 5201
Reverse mode, remote host 192.168.50.14 is sending
[ 5] local 192.168.50.226 port 43684 connected to 192.168.50.14 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 103 MBytes 860 Mbits/sec
[ 5] 1.00-2.00 sec 102 MBytes 860 Mbits/sec
[ 5] 2.00-3.00 sec 102 MBytes 851 Mbits/sec
[ 5] 3.00-4.00 sec 102 MBytes 857 Mbits/sec
[ 5] 4.00-5.00 sec 102 MBytes 859 Mbits/sec
[ 5] 5.00-6.00 sec 103 MBytes 866 Mbits/sec
[ 5] 6.00-7.00 sec 103 MBytes 862 Mbits/sec
[ 5] 7.00-8.00 sec 103 MBytes 867 Mbits/sec
[ 5] 8.00-9.00 sec 102 MBytes 859 Mbits/sec
[ 5] 9.00-10.00 sec 102 MBytes 859 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.00 sec 1.00 GBytes 860 Mbits/sec sender
[ 5] 0.00-10.00 sec 1.00 GBytes 860 Mbits/sec receiver
iperf Done.
osmc@osmc:~$ iperf3 -c 192.168.50.14
Connecting to host 192.168.50.14, port 5201
[ 5] local 192.168.50.226 port 43688 connected to 192.168.50.14 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.01 sec 91.5 MBytes 764 Mbits/sec 0 222 KBytes
[ 5] 1.01-2.00 sec 100 MBytes 844 Mbits/sec 0 222 KBytes
[ 5] 2.00-3.01 sec 101 MBytes 846 Mbits/sec 1 212 KBytes
[ 5] 3.01-4.00 sec 95.8 MBytes 807 Mbits/sec 0 212 KBytes
[ 5] 4.00-5.00 sec 104 MBytes 876 Mbits/sec 0 212 KBytes
[ 5] 5.00-6.00 sec 104 MBytes 876 Mbits/sec 0 212 KBytes
[ 5] 6.00-7.00 sec 97.6 MBytes 818 Mbits/sec 1 174 KBytes
[ 5] 7.00-8.01 sec 101 MBytes 839 Mbits/sec 0 211 KBytes
[ 5] 8.01-9.01 sec 96.6 MBytes 814 Mbits/sec 0 211 KBytes
[ 5] 9.01-10.01 sec 100 MBytes 838 Mbits/sec 1 212 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.01 sec 993 MBytes 832 Mbits/sec 3 sender
[ 5] 0.00-10.01 sec 993 MBytes 832 Mbits/sec receiver
And that was ran at the same time I had a transfer going.
Is there a way to tell iperf to read/write the test file from the USB attached device though?
That would be more telling.
You can use the -f
to read from a file instead of using a random pattern but I doubt that will give you the result you want.
You can measure the read speed of a drive by doing
dd if='<path of large file on the drive>' of=/dev/null bs=4M count=1000
or if you want to see how fast Kodi can access it (rather than the OS), start copying a large file from the drive to the Vero’s internal flash memory using the Kodi file manager, and see what the transfer speed settles down to. (The flash write speed is likely faster than the USB 2.0 read speed, so this should be valid).
EDIT: and presumably copying a file from flash memory onto the drive (instead of to /dev/null) would test the drive’s write speed - again, USB 2.0 will bottleneck before the flash storage read speed).
Yeah, but we would want to specify the write destination, not the read destination.
If we can tell iperf3 to write to the USB attached storage then we would get an idea of the drop off between local flash/memory and USB.
The iperf3 test may prove that the network is healthy, but if we specify the destination to his USB and it only gets <1.5 MB/s then I would feel pretty confident that the issue is the USB cable, or the drive, or maybe something else like a change in the USB driver or something new to the update.
Might even be something with NTFS.
That’s where using the dd command that @angry.sardine suggested can help. You can use dd to test the read speed, and you could do something like:
dd if=/dev/zero of=/path/to/usb/drive/file bs=4M count=1000 status=progress
to create a file on the USB drive and check the write speed.
But we don’t want the read speed of the USB device, we want the write speed of the USB device.
@Kthor1 is suffering from slow writes when writing to the USB device from over the network.
But maybe I’m missing something.
I edited my response to clarify it. The dd command I gave will test the write speed of a drive.
I think something has changed in the update, maybe regarding NTFS, but I need to do more testing.
This doesn’t look good and reflects the slower speeds seen when transfering over the network also:
osmc@osmc:/media/Seagate 8TB 6$ pv ~/Backup/test.rar > /media/"Seagate 8TB 6"/test.rar
999MiB 0:01:06 [14.9MiB/s] [========================================================================>] 100%
Unfortunately I don’t have any spare external drives right now to play around with.
What I’d like to do is format one with Ext4 and one with NTFS, then see the difference, if any.
I suspect something may have changed with how NTFS is being used in userspace with the new kernel, but I’m no Linux expert.
I’m also seeing memory usage peak at 40% and CPU usage peak around 65% on all 4 cores during file transfer whether I go from local storage to USB NTFS HDDs or back.
This is much higher than I have seen in the past.
Transferring from USB NTFS HDD to local storage peaks at USB 2.0 real world limitations around 30 MB/s, in line with what I used to see when transferring files to the Vero before the update.
osmc@osmc:/media/Seagate 8TB 6$ pv ~/Backup/test.rar > /media/"Seagate 8TB 5"/test.rar
999MiB 0:01:22 [12.1MiB/s] [========================================================================>] 100%
osmc@osmc:/media/Seagate 8TB 6$ pv ~/Backup/test.rar > /media/"Seagate 8TB 4"/test.rar
999MiB 0:01:16 [13.0MiB/s] [========================================================================>] 100%
osmc@osmc:/media/Seagate 8TB 6$ pv ~/Backup/test.rar > /media/"Seagate 8TB 3"/test.rar
999MiB 0:01:11 [13.9MiB/s] [========================================================================>] 100%
osmc@osmc:/media/Seagate 8TB 6$ pv ~/Backup/test.rar > /media/"Seagate 8TB 2"/test.rar
999MiB 0:01:18 [12.7MiB/s] [========================================================================>] 100%
osmc@osmc:/media/Seagate 8TB 6$ pv ~/Backup/test.rar > /media/"Seagate 5TB"/test.rar
999MiB 0:01:09 [14.4MiB/s] [========================================================================>] 100%
osmc@osmc:/media/Seagate 8TB 6$ pv /media/"Seagate 8TB 5"/test.rar > ~/Backup/test.rar
999MiB 0:00:31 [31.3MiB/s] [========================================================================>] 100%
Writing to the local storage over the network starts fast but slows down to below 25 MB/s.
Try the dd command I suggested. It will test raw write speed. No reading from another drive/network. Just the raw write speed to the drive.
Writing to two partitions on the same drive (Seagate Backup Plus 4G re-partitioned). First is ext4, second NTFS.
osmc@vero4tv:/mnt/1Text4/Downloads$ pv ~/testfile.iso > /mnt/1Text4/testfile.iso
3.09GiB 0:01:46 [29.7MiB/s] [======================================================================================================>] 100%
osmc@vero4tv:/mnt/1Text4/Downloads$ pv ~/testfile.iso > /media/Seagate\ Backup\ Plus\ Drive/testfile.iso
3.09GiB 0:03:24 [15.5MiB/s] [======================================================================================================>] 100%
Reading from HDD to emmc is the same for both partitions: 26.6MiB/s vs 26.1MiB/s.
Wow!
Just as I expected.
Huge write losses for NTFS.
That’s unfortunate.
I can live with it though since I just came to accept that writing to the Vero USB attached devices would be slow so I always queued my transfers during down time or over night.
30 MB/s or 15 MB/s makes no difference to me as long as it’s done overnight.
If I was a developer, it’d drive me crazy because a 50% loss on an upgrade is crazy.
But <1.5 MB/s might not finish a transfer queue overnight!
I wonder why @Kthor1 is getting <1.5MB/s.
But we haven’t heard from him in a few days so who know?