Rock64 4GB poor USB3 HDD performance
#1
Sad 
I've received my Rock64 4GB a few weeks back but I'm having some trouble getting the external hard drive to perform as it should.

I really hope anyone here has some idea's on how to get performance up to spec because I'm about to pull my hair out with this issue. The main purpose of the Rock64 was a replacement for my RasbPI3 as a NAS. Since the Rock64 has Gigabit ethernet and USB3 it seemed like a good fit but so far it's been dissapointing.  (It's rock stable though Shy )

The drive I'm a Seagate STEA4000400 USB3 (powered by wall adapter) which performs great on my Windows rig. Transferring files from the same server as I'm using to test with the Rock64 gives me a stable 110MB/s up/down.

I'm currently running bionic-minimal-rock64-0.6.31-209-arm64, but I've also tried xenial-minimal-rock64-0.5.15-136-arm64 (the current stable release) and but had similar results.

Right now I'm only get around 20MB/s write and about 40MB/s read on the drive when using RSYNC or SAMBA, which seems way too low.

I've tried Rsync (SSH), then after reading SSH might be the culprit for poor speed changed to NFS, then when this didn't help I tried the Rsync protocol (no notable change in performance).  Then said screw it and tried transferring files via samba, same crap performance. I just tried to do a local rysnc moving files around on the drive, around 18MB/s.

At first the drive was formatted as EXT4, I've formatted it to NTFS now and still get the same performance. (I didn't expect any improvement, but this gave me the change to test the drive on my windows machine, which doesn't have the problem).

Here's some more debugging I've tried to do to narrow down the cause.. (all done with governor @ performance on 4.4.120-rockchip-ayufan-209)

Iperf with Rock64 as client: 
Code:
sudo iperf3 -c 192.168.2.10
\Connecting to host 192.168.2.10, port 5201
[  4] local 192.168.2.101 port 52794 connected to 192.168.2.10 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  96.3 MBytes   805 Mbits/sec    0    946 KBytes
[  4]   1.00-2.00   sec   100 MBytes   839 Mbits/sec    0   1.04 MBytes
[  4]   2.00-3.00   sec   100 MBytes   839 Mbits/sec    0   1.25 MBytes
[  4]   3.00-4.00   sec   100 MBytes   839 Mbits/sec    0   1.25 MBytes
[  4]   4.00-5.00   sec   100 MBytes   840 Mbits/sec    0   1.90 MBytes
[  4]   5.00-6.01   sec   101 MBytes   845 Mbits/sec    0   1.90 MBytes
[  4]   6.01-7.00   sec   100 MBytes   840 Mbits/sec    0   1.90 MBytes
[  4]   7.00-8.00   sec   100 MBytes   842 Mbits/sec    0   1.90 MBytes
[  4]   8.00-9.01   sec   101 MBytes   845 Mbits/sec    0   1.93 MBytes
[  4]   9.01-10.00  sec   100 MBytes   840 Mbits/sec    0   1.93 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   999 MBytes   838 Mbits/sec    0             sender
[  4]   0.00-10.00  sec   995 MBytes   834 Mbits/sec                  receiver

Rock64 as server:
Code:
sudo iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.2.10, port 48590
[  5] local 192.168.2.101 port 5201 connected to 192.168.2.10 port 48592
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-1.00   sec   108 MBytes   907 Mbits/sec
[  5]   1.00-2.00   sec   112 MBytes   941 Mbits/sec
[  5]   2.00-3.00   sec   112 MBytes   940 Mbits/sec
[  5]   3.00-4.00   sec   112 MBytes   940 Mbits/sec
[  5]   4.00-5.00   sec   112 MBytes   941 Mbits/sec
[  5]   5.00-6.00   sec   112 MBytes   941 Mbits/sec
[  5]   6.00-7.00   sec   112 MBytes   941 Mbits/sec
[  5]   7.00-8.00   sec   112 MBytes   941 Mbits/sec
[  5]   8.00-9.00   sec   111 MBytes   933 Mbits/sec
[  5]   9.00-10.00  sec   112 MBytes   941 Mbits/sec
[  5]  10.00-10.03  sec  3.43 MBytes   929 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-10.03  sec  0.00 Bytes  0.00 bits/sec                  sender
[  5]   0.00-10.03  sec  1.09 GBytes   937 Mbits/sec                  receiver

As client is a bit slower, but acceptable (if anyone knows why I'd gladly hear it, firewall is disabled)

iozone test:
Code:
iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
       Iozone: Performance Test of File I/O
               Version $Revision: 3.429 $
               Compiled for 64 bit mode.
               Build: linux

       Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
                    Al Slater, Scott Rhine, Mike Wisner, Ken Goss
                    Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
                    Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
                    Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
                    Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
                    Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
                    Vangel Bojaxhi, Ben England, Vikentsi Lapa.

       Run began: Sun Apr  8 19:54:02 2018

       Include fsync in write timing
       O_DIRECT feature enabled
       Auto Mode
       File size set to 102400 kB
       Record Size 4 kB
       Record Size 16 kB
       Record Size 512 kB
       Record Size 1024 kB
       Record Size 16384 kB
       Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
       Output is in kBytes/sec
       Time Resolution = 0.000001 seconds.
       Processor cache size set to 1024 kBytes.
       Processor cache line size set to 32 bytes.
       File stride size set to 17 * record size.
                                                             random    random     bkwd    record    stride
             kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
         102400       4    22657    26762    91373    92627    90584    31170
         102400      16    53854    65291   261840   273802   270460    65326
         102400     512    88260    91791   308807   324209   361771    94020
         102400    1024    85033    92685   356563   368805   368856    92340
         102400   16384    91176    96230   350895   369697   370204    97167
Not sure if these are good results

Test with DD: Sad
Code:
/mnt/sg1/test$ dd if=/dev/zero of=./largefile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 29.5178 s, 36.4 MB/s

Cleared cache with
Code:
sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"

Then tested read, seems fine:
Code:
/mnt/sg1/test$ dd if=./largefile of=/dev/null bs=4k
262144+0 records in
262144+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 6.97084 s, 154 MB/s

This is how the drive is mounted in fstab: (ext4 I had some bad perf)
Code:
/dev/disk/by-id/ata-ST4000DM004-2CV104_ZFN0B7VM-part1  /mnt/sg1     ntfs-3g rw, big_writes, defaults,nofail 0 0

Hope someone one of the smart people on here can help me figure this one out.
Thanks in advance!
  Reply


Messages In This Thread
Rock64 4GB poor USB3 HDD performance - by KernelPanic - 04-08-2018, 12:18 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  irradium (based on crux linux) Rock64 riscv64, aarch64 mara 0 134 03-24-2024, 01:07 PM
Last Post: mara
  Rock64 v2 - did not work song / audio sqw200zu 2 1,328 03-14-2024, 03:09 AM
Last Post: dmitrymyadzelets
  Rock64 won't boot dstallmo 0 323 12-27-2023, 10:34 AM
Last Post: dstallmo
  HDMI doesn't work on rock64 Noung1991 1 594 11-21-2023, 08:33 AM
Last Post: as365n4
  Rock64 + Klipper + KlipperScreen Instructions godzilla62 0 594 10-22-2023, 01:52 AM
Last Post: godzilla62
  Rock64 Debian 11 (Bullseye) install problem jbize 15 8,233 10-12-2023, 05:14 PM
Last Post: tpaul
  slarm64 (unofficial slackware) Rock64 RK3328 (aarch64) mara 133 189,311 10-09-2023, 03:31 AM
Last Post: mara
  arch rock64 does not boot nemnob 0 582 07-09-2023, 03:28 AM
Last Post: nemnob
  RXDP from Win10 to Armbian on Rock64 Transportsicherung 0 632 05-27-2023, 06:11 AM
Last Post: Transportsicherung
  DietPi OS for ROCK64 MichaIng 41 32,932 12-07-2022, 08:22 PM
Last Post: luminosity7

Forum Jump:


Users browsing this thread: 1 Guest(s)