O problema:
Estou recebendo apenas ~ 30MB / s em uma rede gigabit, transferindo arquivos de um gabinete externo conectado ao meu SOC para o SSD do meu PC. Eu teria assumido uma maior velocidade de transferência. Eu estou usando FTPES e eu também tentei SCP ambos cap em torno de 30MB / s
Fundo:
Eu tenho um SOC (Odroid XU4) com um gigabit ethernet nic e um hub USB 3.0. Ele está conectado a um comutador gerenciado por gigabit Ethernet (Cisco sg200-08) que é conectado a um roteador Ethernet Gigabit (Netgear R8000) ao qual meu computador está conectado (que também tem um gigabit nic).
Equipamento:
SOC: Odroid XU4
External Disks: 4TB 5400 RPM
Switch: Cisco sg200-08
Router: Netgear R8000
Computer: Custom build with gigabit ethernet
Diagrama:
SOC -> Gigabit Switch -> Gigabit Router -> Gigabit NIC pc
Agora testei as velocidades de leitura do SOC para os discos:
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
Eu também tentei fazer iperf de 2 máquinas diferentes, meu pc rodando windows, e meu roteador rodando dd-wrt para meu SOC
PC para 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
Eu recebo resultados semelhantes do meu roteador para o SOC
Roteador para 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
Aqui está o que ifconfig diz sobre o adaptador:
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)
Aqui estão os meus recursos de adaptador de SOCs:
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
O que há com essa baixa velocidade? O que são algumas coisas que devo verificar? Alguma ideia?
fonte
Respostas:
E aqui está a resposta:
Eu deveria ter mencionado que estou usando o vsftpd usando tls. Eu tinha a bandeira cipher = HIGH ligada. Isso estava matando o cpu no SOC. Eu desabilitei ssl no vsftpd e estava recebendo 70MB / s
fonte