Velocidade de transferência lenta usando SOC de ftpes para PC

0

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?

Kevin
fonte
Nessa velocidade, parece-me que a porta gigabit está pendurada em um controlador USB2 no ODroid, em vez de uma porta gigabit dedicada no processador. Pode ser que o processador tenha apenas 10/100 portas disponíveis e essa é a única maneira de ficar mais rápido, mesmo que seja apenas por um fator de 3 em vez de 10.
Mokubai
Olhando para o esquema ( hardkernel.com/main/products/… ) para a placa que a ethernet está pendurada em uma porta controladora USB3, então você devemos tem velocidades ethernet gigabit quase completas.
Mokubai
Seus testes de iperf parecem um absurdo. 2,354,598,378,962,423 bytes / s = 2354598,38 gigabytes por segundo que é insano e sua coluna "transferência" mostra 0,00, o que significa que nenhum dado foi transferido, ou seja, não havia servidor iperf para se conectar e responder com confirmações de dados. Execute iperf como um servidor no seu PC (iperf -s) e faça um teste gerenciado apropriado: openmaniak.com/iperf.php
Mokubai
@Mokubai eu realmente fiz isso nos testes. Eu configuro servidores no roteador e no pc. Este foi o teste que me deu essas velocidades loucas. Quando testo o SOC com iperf -s, obtenho uma velocidade de transferência realmente baixa (medida em bits / s).
Kevin

Respostas:

1

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

Kevin
fonte