The problem:
I am getting only ~30MB/s on a gigabit network transferring files from an external enclosure connected to my SOC to my PCs SSD. I would have assumed a higher speed transfer. I am using FTPES and I have also tried SCP both cap at around 30MB/s
Background:
I have a SOC (Odroid XU4) with a gigabit ethernet nic and a USB 3.0 hub. It is connected to a gigabit ethernet managed switch (Cisco sg200-08) which is connected to a gigabit ethernet router (Netgear R8000) which my computer is connected to (which also has a gigabit nic).
Equipment:
SOC: Odroid XU4
External Disks: 4TB 5400 RPM
Switch: Cisco sg200-08
Router: Netgear R8000
Computer: Custom build with gigabit ethernet
Diagram:
SOC -> Gigabit Switch -> Gigabit Router -> Gigabit NIC pc
Now I tested the read speeds from the SOC to the disks:
kevin@ftpbox:~$ sudo hdparm -Tt /dev/sda
/dev/sda:
Timing cached reads: 2008 MB in 2.00 seconds = 1005.91 MB/sec
Timing buffered disk reads: 364 MB in 3.00 seconds = 121.21 MB/sec
kevin@ftpbox:~$ sudo hdparm -Tt /dev/sdb'
> ^C
kevin@ftpbox:~$ sudo hdparm -Tt /dev/sdb
/dev/sdb:
Timing cached reads: 2004 MB in 2.00 seconds = 1003.25 MB/sec
Timing buffered disk reads: 394 MB in 3.01 seconds = 130.74 MB/sec
kevin@ftpbox:~$ sudo hdparm -Tt /dev/sdc
/dev/sdc:
Timing cached reads: 2008 MB in 2.00 seconds = 1005.80 MB/sec
Timing buffered disk reads: 394 MB in 3.01 seconds = 130.83 MB/sec
kevin@ftpbox:~$ sudo hdparm -Tt /dev/sdd
/dev/sdd:
Timing cached reads: 1982 MB in 2.00 seconds = 992.31 MB/sec
Timing buffered disk reads: 394 MB in 3.01 seconds = 130.83 MB/sec
I also tried doing iperf from 2 different machines, my pc running windows, and my router running dd-wrt to my SOC
PC to SOC:
kevin@ftpbox:~$ iperf -c 192.168.1.2 -p 5201
------------------------------------------------------------
Client connecting to 192.168.1.2, TCP port 5201
TCP window size: 20.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.22 port 47193 connected with 192.168.1.2 port 5201
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 0.00 (null)s 2350133821636822 Bytes/sec
kevin@ftpbox:~$ iperf -c 192.168.1.2 -p 5201
------------------------------------------------------------
Client connecting to 192.168.1.2, TCP port 5201
TCP window size: 20.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.22 port 47194 connected with 192.168.1.2 port 5201
^C[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 2.1 sec 0.00 (null)s 2354598378962423 Bytes/sec
kevin@ftpbox:~$ iperf -s
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[ 4] local 192.168.1.22 port 5001 connected with 192.168.1.2 port 63008
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-20.2 sec 14.0 Bytes 5.55 bits/sec
I get similar results from my router to the SOC
Router to SOC:
kevin@ftpbox:~$ iperf -c 192.168.1.1 -p 5201
------------------------------------------------------------
Client connecting to 192.168.1.1, TCP port 5201
TCP window size: 20.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.22 port 58115 connected with 192.168.1.1 port 5201
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 0.00 (null)s 2350254378773930 Bytes/sec
kevin@ftpbox:~$ iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[ 4] local 192.168.1.22 port 5001 connected with 192.168.1.1 port 55060
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-64.8 sec 14.0 Bytes 1.73 bits/sec
Here is what ifconfig says about the adapter:
kevin@ftpbox:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:1e:06:31:a6:81
inet addr:192.168.1.22 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::21e:6ff:fe31:a681/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5592 errors:0 dropped:4 overruns:0 frame:0
TX packets:3022 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:855874 (855.8 KB) TX bytes:433684 (433.6 KB)
Here is my SOCs adapter capabilities:
kevin@ftpbox:~$ ethtool eth0
Settings for eth0:
Supported ports: [ MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Link partner advertised pause frame use: No
Link partner advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 32
Transceiver: internal
Auto-negotiation: on
Cannot get wake-on-lan settings: Operation not permitted
Current message level: 0x00007fff (32767)
drv probe link timer ifdown ifup rx_err tx_err tx_queued intr tx_done rx_status pktdata hw wol
Link detected: yes
What is with this low speed? What are somethings I should check? Any Ideas?