Transfer speed of single file over VPN capped?

Hey there
I'm wondering why my file transfer speed of a single file (over VPN, tested with Wireguard and OpenVPN) isn't saturating my max download speed of my current location. The bandwidth of my current location are 85 Mbit/s down and 35 Mbit/s up. The VPN Server I'm connected to is my home with symmetric 1 Gbit/s. When I'm at home gigabit speeds are no problem. At my current location however I only get the full bandwidth when I'm doing a Speedtest but not if I'm doing a file transfer. (movie 10-20GB with FTP protocol, also tried SMB or SFTP and iperf3 = same result) Another observation I made is when I'm downloading two movies simultaneous, the "line" gets saturated. But with a single movie I only get around 40 ish Mbit/s. Do you have any suggestion what I can do to solve this strange behavior?

Most likely the CPU is fully utilized.
Run the following when you are downloading something:

ubus call system board; top
1 Like

What hardware are running the vpn server and client?

fwiw, when using iperf3, did you use the -P <no. of threads> switch on the iperf3 client, because I think it is only single thread by default?

Thank you for your fast respond! That's what I got while downloading one movie. (40 Mbit/s)

Mem: 2370484K used, 13963020K free, 2400K shrd, 2800K buff, 2280372K cached
CPU:   0% usr   2% sys   0% nic  91% idle   0% io   0% irq   6% sirq
Load average: 0.17 0.06 0.02 3/103 23208
  PID  PPID USER     STAT   VSZ %VSZ %CPU COMMAND
11193     2 root     RW       0   0%   1% [kworker/3:2]
22960     2 root     IW       0   0%   1% [kworker/2:3]
22952     2 root     IW       0   0%   1% [kworker/0:1]
22950     2 root     IW       0   0%   1% [kworker/1:1]
23084     2 root     IW       0   0%   0% [kworker/1:2]
   19     2 root     SW       0   0%   0% [ksoftirqd/2]
 9639     2 root     IW       0   0%   0% [kworker/2:0]
22954     2 root     IW       0   0%   0% [kworker/2:2]
26621     2 root     IW       0   0%   0% [kworker/0:3]
   24     2 root     SW       0   0%   0% [ksoftirqd/3]
    7     2 root     SW       0   0%   0% [ksoftirqd/0]
22982     2 root     IW       0   0%   0% [kworker/3:3]
11721     1 nobody   S     5172   0%   0% /usr/sbin/openvpn --syslog openvpn(custom_config) -
17999  2513 root     S     4012   0%   0% /usr/sbin/smbd -F
23041 23021 root     S     3940   0%   0% /usr/libexec/sftp-server
 4030     1 root     S     3196   0%   0% /usr/sbin/fwknopd --foreground --syslog-enable -c /
 2514     1 root     S     2912   0%   0% /usr/sbin/nmbd -F
 2513     1 root     S     2856   0%   0% /usr/sbin/smbd -F
 1814     1 root     S     1792   0%   0% /sbin/rpcd -s /var/run/ubus.sock -t 30
 2348     1 root     S     1708   0%   0% /usr/sbin/uhttpd -f -h /www -r D -x /cgi-bi
 2021     1 root     S     1268   0%   0% /sbin/netifd
    1     0 root     S     1168   0%   0% /sbin/procd
 3760     1 dnsmasq  S     1144   0%   0% /usr/sbin/dnsmasq -C /var/etc/dnsmasq.conf.cfg01411
 2054     1 root     S     1084   0%   0% /usr/sbin/odhcpd
23067 23042 root     R     1084   0%   0% top
23042 23021 root     S     1084   0%   0% -ash
 2122     1 root     S     1076   0%   0% /usr/sbin/crond -f -c /etc/crontabs -l 5
 4076     1 root     S<    1076   0%   0% /usr/sbin/ntpd -n -N -S /usr/sbin/ntpd-hotplug -p 0
26131  2021 root     S     1072   0%   0% udhcpc -p /var/run/udhcpc-eth0.pid -s /lib/netifd/d
 2398     1 root     SN    1016   0%   0% /usr/sbin/nlbwmon -o /var/lib/nlbwmon -b 524288 -i
13482  1964 root     S     1000   0%   0% /usr/sbin/dropbear -F -P /var/run/dropbear.1.pid -a
23021  1964 root     S     1000   0%   0% /usr/sbin/dropbear -F -P /var/run/dropbear.1.pid -a
 1783     1 root     S      964   0%   0% /sbin/logd -S 64
 1442     1 root     S      916   0%   0% /sbin/ubusd
 1964     1 root     S      888   0%   0% /usr/sbin/dropbear -F -P /var/run/dropbear.1.pid -a
 3605  2021 root     S      808   0%   0% odhcp6c -s /lib/netifd/dhcpv6.script -Ntry -P0 -t12
 1457     1 root     S      780   0%   0% /sbin/urngd
 1444     1 root     S      720   0%   0% /sbin/askfirst /usr/libexec/login.sh
 9163     2 root     IW       0   0%   0% [kworker/2:1]
    8     2 root     IW       0   0%   0% [rcu_sched]
   14     2 root     SW       0   0%   0% [ksoftirqd/1]
26480     2 root     IW       0   0%   0% [kworker/1:3]
^C120     2 root     SW       0   0%   0% [usb-storage]

Also thank you for your fast respond!

So on my server side I'm rocking a i7 4510u and 16 gigs of ram. OpenWrt 19.07.4 r11208-ce6496d796 is running on a usb stick and a 256GB SSD is for network shares. (not my NAS)

On my client side I'm using a Lenovo Laptop, to be more precise the Yoga 910-IKB with a i7 7500u and 8 gigs of ram. (running Windows 10)

And the iperf3 with more then one stream didn't make a difference.

Hey again. The problem is on my windows 10 VPN client. For some reason it caps the download speeds in half...... (tested on another laptop, there everything worked fine!)
I have no clue why. If you have any suggestion, they are very welcome!

1 Like

Do you have a USB-ethernet adapter for your Lenovo to see if wifi vs ethernet makes any difference?

Is there any 3rd party antivirus/security software running on the Lenovo?

1 Like

Yes, I tested with a USB-ethernet adapter, because the wifi here is capped.

And no I'm using windows defender.

I found the evildoer, it was the sketchy Advanced System Care 13 from IObit.
Thank you all for your suggestions and have a nice day!

2 Likes

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.