Rsync slow and different speed

katawan

Cadet
Joined
Feb 13, 2017
Messages
6
Hello,

I will give a try on this forum because I do not understand what I am missing...

I use rsync to send movies from my seedbox to my home server (FreeNAS-11.2-U7). The problem is that the speed is abnormally low when I send the file to my server (around 1.5MB/s)
What I don't understand it's that the speed is good unless I try to send from my seedbox to my server

I did multiple test using rsync and check the speed:

Connected with SSH to MYSERVER
  • copy file from MYSERVER to SEEDBOX-> speed: 20MB/s
  • request file to SEEDBOXto MYSERVER -> speed: 20MB/s

Connected with SSH to SEEDBOX
  • request file to MYSERVER to SEEDBOX-> speed: 20MB/s
  • copy file from SEEDBOX to MYSERVER -> speed: 1.5MB/s !!!


For the bad case (copy file from SEEDBOX to MYSERVER -> speed: 1.5MB/s), I noticed that it stays around 1.5MB/s but if I download a file from SEEDBOX using FTP transfer or WINSCP the speed changes from 1.5MB/s to 20MB/s and wont change anymore until transfer is completed.

I definitely misunderstand something... an option, a flag or some permissions with SSH ? rsync ?...

If you get any idea of what could cause this unsymmetrical speed transfer I would be really grateful !
 

katawan

Cadet
Joined
Feb 13, 2017
Messages
6
Hi @dlavigne !

I just did the test again but yes I still have my speed transfer limited around 2MB/s if I send from the SEEDBOX to MYSERVER...

And the speed is "unlimited" and goes around 20MB/s if I use rsync from MYSERVER to receive the same file...

Any clues of what I should do to avoid this limitation ?

Thanks for you help !
 
D

dlavigne

Guest
What's the full output of ifconfig within code tags? Also, anything in /var/log/messages during the slow transfer?
 

katawan

Cadet
Joined
Feb 13, 2017
Messages
6
Thank you for taking the time to help me !

Please find below the ifconfig (not sure what I should remove to be safe so please let me know if any shared information is sensitive):

Code:
re0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=82099<RXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
        ether HIDE
        hwaddr HIDE
        inet 192.168.HIDE netmask 0xffffff00 broadcast 192.168.HIDE
        nd6 options=9<PERFORMNUD,IFDISABLED>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
        inet 127.0.0.1 netmask 0xff000000
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
        groups: lo
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether HIDE
        nd6 options=1<PERFORMNUD>
        groups: bridge
        id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
        maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
        root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
        member: vnet0:10 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 7 priority 128 path cost 2000
        member: vnet0:3 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 6 priority 128 path cost 2000
        member: epair1a flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 5 priority 128 path cost 2000
        member: epair0a flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 4 priority 128 path cost 2000
        member: re0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 1 priority 128 path cost 20000
epair0a: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether HIDE
        hwaddr HIDE
        nd6 options=1<PERFORMNUD>
        media: Ethernet 10Gbase-T (10Gbase-T <full-duplex>)
        status: active
        groups: epair
epair1a: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether HIDE
        hwaddr HIDE
        nd6 options=1<PERFORMNUD>
        media: Ethernet 10Gbase-T (10Gbase-T <full-duplex>)
        status: active
        groups: epair
vnet0:3: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        description: associated with jail: plex as nic: epair0b
        options=8<VLAN_MTU>
        ether HIDE
        hwaddr HIDE
        nd6 options=1<PERFORMNUD>
        media: Ethernet 10Gbase-T (10Gbase-T <full-duplex>)
        status: active
        groups: epair
vnet0:10: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        description: associated with jail: radarr as nic: epair0b
        options=8<VLAN_MTU>
        ether HIDE
        hwaddr HIDE
        nd6 options=1<PERFORMNUD>
        media: Ethernet 10Gbase-T (10Gbase-T <full-duplex>)
        status: active
        groups: epair


and the messages file during the transfer:
some CHINANET try to access to my server. Not sure if I can do anything about that... (not the subject here)
Code:
Dec 18 14:51:13 Media sshd[12768]: error: maximum authentication attempts exceeded for root from 222.186.190.92 port 28890 ssh2 [preauth]
Dec 18 14:57:16 Media sshd[12988]: error: maximum authentication attempts exceeded for root from 49.88.112.62 port 48770 ssh2 [preauth]
Dec 18 14:57:32 Media sshd[13001]: error: maximum authentication attempts exceeded for root from 49.88.112.62 port 16441 ssh2 [preauth]
Dec 18 15:14:42 Media sshd[14427]: error: maximum authentication attempts exceeded for root from 222.186.175.147 port 45742 ssh2 [preauth]
Dec 18 15:17:01 Media sshd[14673]: error: maximum authentication attempts exceeded for root from 49.88.112.59 port 48690 ssh2 [preauth]
Dec 18 15:17:18 Media sshd[14707]: error: maximum authentication attempts exceeded for root from 49.88.112.59 port 23523 ssh2 [preauth]
Dec 18 15:20:26 Media sshd[15044]: error: maximum authentication attempts exceeded for root from 222.186.175.151 port 62170 ssh2 [preauth]
Dec 18 15:20:39 Media sshd[15086]: error: maximum authentication attempts exceeded for root from 222.186.175.151 port 23820 ssh2 [preauth]


By the way. I checked the transfer speed with the bandwidth monitor of Freenas and the speed was stuck around 1.5 MB/s. But I noticed it went up at the end of the transfer and was around 20 MB/s. I did not change anything during that time...

Hope it can help to understand my issue :/
 
D

dlavigne

Guest
Couple of recommendations:
  • replace the Realtek NIC with one of the affordable Intel ones mentioned in the hardware resources, you will not get good speed from it
  • don't expose SSH to the Internet, make sure your system is behind a properly configured firewall
 

katawan

Cadet
Joined
Feb 13, 2017
Messages
6
Ouah I did my search, there is a long story about firewall and to expose Freenas on the internet :)

Best solution I found (except not to expose my Freenas to the internet), is to add a firewall to protect my server. Like a mini-ITX box with dual Intel LANs and stick Sophos UTM... I'll try to dig deeper in the internet to understand what I should about that (or if you have more advice around that point)

Regarding my issue of limited bandwidth. Do you think the issue could be fixed by replacing the Realtek NIC ? Any other information you would need from me ?
 
D

dlavigne

Guest
Regarding my issue of limited bandwidth. Do you think the issue could be fixed by replacing the Realtek NIC ? Any other information you would need from me ?

It should help as Realtek is known not to take load and performs poorly.

If the speed is still slow afterwards, you might want to experiment with another protocol. Rsync is not designed for speed.
 

katawan

Cadet
Joined
Feb 13, 2017
Messages
6
It should help as Realtek is known not to take load and performs poorly.
So I bought a new NIC (Intel I350-T2), but my problem remains the same...

If the speed is still slow afterwards, you might want to experiment with another protocol. Rsync is not designed for speed.
Speed is not really my problem but more the asymmetric issue I have (one way is 20MB/s but the other is stuck at 1.5MB/s). Especially, I do not understand that case:
  1. Send a movieA from SEEDBOX to MYSERVER. --> Speed transfer movieA: 1.5MB/s (and won't change if I don't do step 2.)
  2. Request a movieB from MYSERVER to SEEDBOX --> Speed transfer movieA: 12MB/s, Speed transfer movieB: 12MB/s
  3. Cancel resquest of movieB --> Speed transfer movieA: 25MB/s
Do you have a tool in mind to debug such issue ? Wireshark ?

Or I am stubborn and I should rather accept that I won't fix my problem haha

Thanks for your help (again) !
 
Top