Understanding Througput Limitations

Post your questions about SoftEther VPN software here. Please answer questions if you can afford.
Post Reply
Ru8ey
Posts: 10
Joined: Tue Jan 30, 2024 7:07 pm

Understanding Througput Limitations

Post by Ru8ey » Tue Jan 30, 2024 7:24 pm

Hello,

I inherited the task of maintaining my families home server after my father passed away recently and i am trying to understand what is limiting the VPN setup on the server currently.
The server and clients are all Windows based, the server is running WS2016 and has a multitude of roles installed, namely WS essentials, Domain Services, Fileserver DNS and of course the VPN server itself.

Now the client PCs on different locations can connect via the SoftEther VPN, and that works well, can see all the folders and even view photos relatively OK. Client backups work aswell and take about 20-30 minutes sometimes longer (as long as its incremental and not a full new backup which would take too long and needs to be done at my home if needed) but accessing files generally is very slow and the clientbackup also doesnt fully saturate any of the homes upload speeds.

I was working on one of the client PCs today and trying to copy a file would max out at 1MByte/s if even that both ways. The server also runs a media server which is visible and accessible by the client PCs, but watching a video from the server is not possible due to constant buffering. Same as before the servers upload only shows about 8-10 Mbit/s load while it should be able to go to 40 Mbit from my end where the server is. (minus VPN overhead)

I read the Troubleshooting page and came across Section "11.1.5 I am getting slow transfer speeds when using Windows file sharing on the VPN."
Does this apply to my situation and would that mean the VPN is generally not suited at all to the use cases i described? I did not try the registry fix listed in that paragraph yet as i was unsure what exactly constitutes "using Windows file sharing protocol"

Please let me know if i can check any "common fixes" for issues like this or give me a list of information you could use to help find the cause here i would gladly provide anything that can help.

Kind Regards and thanks for any Help

solo
Posts: 1285
Joined: Sun Feb 14, 2021 10:31 am

Re: Understanding Througput Limitations

Post by solo » Tue Jan 30, 2024 8:06 pm

On a VPN Azure address this is normal, otherwise do speed test with:

vpncmd /tools /cmd TrafficClient speed.softether.com:9821

Post as code Average Throughputs along with CPU usage:
#1 TrafficClient from your VPN server to the speed server
#2 TrafficClient from a VPN client to the speed server
#3 TrafficClient from the client's PC directly to the speed server

Example of #1

Code: Select all

Average Throughput in Download Direction              |  1,128,980,684 bps|      1.13 Gbps
Average Throughput in Upload Direction                |  1,139,082,463 bps|      1.14 Gbps
CPU 5%

Ru8ey
Posts: 10
Joined: Tue Jan 30, 2024 7:07 pm

Re: Understanding Througput Limitations

Post by Ru8ey » Tue Jan 30, 2024 8:46 pm

Hi,

thanks for your help, i do not use VPN azure.
For now i can only provide Server -> Speedserver since i am back at home, i will reply with the client side tests once i have them (latest 04.02 earlier if i can do it remotely with one of my family members tomorrow)

This is for VPN server -> Speedserver. My DSL Bandwitdth is 100/40

Code: Select all

Average Throughput in Download Direction              |  39,510,628 bps|     39,51 Mbps
Average Throughput in Upload Direction                |  13,714,516 bps|     13,71 Mbps
CPU 8%

I noticed that my in house LAN was a bit slow aswell i will try a different connection from my router to the server to see if i can get it closed to 100/40

Ru8ey
Posts: 10
Joined: Tue Jan 30, 2024 7:07 pm

Re: Understanding Througput Limitations

Post by Ru8ey » Tue Jan 30, 2024 10:42 pm

I tested the VPN server -> speedserver again with a CAT6 cable directly to the router/server but it did not give me much better speeds.

Code: Select all

Average Throughput in Download Direction              |   36,976,790 bps|     36,98 Mbps
Average Throughput in Upload Direction                |   19,274,321 bps|     19,27 Mbps
When i try to transfer a file within my LAN at home the transfer is at max speed the cables allow so the connection server-> router should be out of the question..

solo
Posts: 1285
Joined: Sun Feb 14, 2021 10:31 am

Re: Understanding Througput Limitations

Post by solo » Tue Jan 30, 2024 11:06 pm

Very well, please proceed with tests #2 and #3.

Btw while you're still on the server, post as code the output of:

Code: Select all

vpncmd localhost:port /server /password:*** /cmd ServerInfoGet
vpncmd localhost:port /server /password:*** /cmd BridgeList
vpncmd localhost:port /server /password:*** /adminhub:@@@ /cmd StatusGet
vpncmd localhost:port /server /password:*** /adminhub:@@@ /cmd NatGet
//replace: 'port' with number; *** with SE admin password; @@@ with VPN hub's name

Ru8ey
Posts: 10
Joined: Tue Jan 30, 2024 7:07 pm

Re: Understanding Througput Limitations

Post by Ru8ey » Tue Jan 30, 2024 11:44 pm

I will try to get the Client side tests tomorrow :) Thanks for the help and until tomorrow, getting late here...

Meanwhile as requested:

ServerInfoGet

Code: Select all

ServerInfoGet command - Get server information
Item                            |Value
--------------------------------+----------------------------------------------------------------
Product Name                    |SoftEther VPN Server (64 bit)
Version                         |Version 4.38 Build 9760   (English)
Build                           |Compiled 2021/08/17 22:32:49 by buildsan at crosswin
Host Name                       |nenya
Server Type                     |Standalone Server
Type of Operating System        |Windows NT
Product Name of Operating System|Windows Server 2016
Operating System Vendor         |Microsoft Corporation
Operating System Version        |Build 14393, Multiprocessor Free (14393.rs1_release.231218-1733)
Type of OS Kernel               |NTOS Kernel
Version of OS Kernel            |Build 14393 Multiprocessor Free
BridgeList

Code: Select all

BridgeList command - Get List of Local Bridge Connection
Number|Virtual Hub Name|Network Adapter or Tap Device Name                      |Status
------+----------------+--------------------------------------------------------+---------
1     |nenya          |Intel(R) I210 Gigabit Network Connection (ID=3643760472)|Operating
The command completed successfully.
StatusGet

Code: Select all

StatusGet command - Get Current Status of Virtual Hub
Item                         |Value
-----------------------------+------------------------
Virtual Hub Name             |nenya
Status                       |Online
Type                         |Standalone
SecureNAT                    |Disabled
Sessions                     |1
Access Lists                 |0
Users                        |8
Groups                       |0
MAC Tables                   |8
IP Tables                    |11
Num Logins                   |117428
Last Login                   |2024-01-30 22:42:16
Last Communication           |2024-01-31 00:39:54
Created at                   |2015-09-20 21:48:34
Outgoing Unicast Packets     |21,199,877,347 packets
Outgoing Unicast Total Size  |16,978,753,779,666 bytes
Outgoing Broadcast Packets   |996,332,836 packets
Outgoing Broadcast Total Size|146,381,238,161 bytes
Incoming Unicast Packets     |75,064,181,199 packets
Incoming Unicast Total Size  |69,853,884,014,663 bytes
Incoming Broadcast Packets   |1,050,453,173 packets
Incoming Broadcast Total Size|144,711,963,307 bytes
The command completed successfully.
NatGet

Code: Select all

NatGet command - Get Virtual NAT Function Setting of SecureNAT Function
Item                           |Value
-------------------------------+-----
Use Virtual NAT Function       |Yes
MTU Value                      |1500
TCP Session Timeout (Seconds)  |1800
UDP Session Timeout (Seconds)  |60
Save NAT and DHCP Operation Log|Yes
The command completed successfully.

Ru8ey
Posts: 10
Joined: Tue Jan 30, 2024 7:07 pm

Re: Understanding Througput Limitations

Post by Ru8ey » Wed Jan 31, 2024 11:52 am

Ok i just did the tests remotely with one of the Client PCs, the DSL there is 100/40, same as mine. I also redid the Server -> Speedserver test as i noticed yesterday i used one of the "ECO" ports on my router.

Results for Client directly to Speedserver

Code: Select all

Average Throughput in Download Direction              |  114,882,754 bps|    114,88 Mbps
Average Throughput in Upload Direction                |   39,153,544 bps|     39,15 Mbps
Results for Client connected to my VPN -> Speedserver

Code: Select all

Average Throughput in Download Direction              |   9,362,531 bps|      9,36 Mbps
Average Throughput in Upload Direction                |  17,233,069 bps|     17,23 Mbps
Server -> Speedserver with Cat6 cable directly to router

Code: Select all

Average Throughput in Download Direction              |   97,335,288 bps|     97,34 Mbps
Average Throughput in Upload Direction                |   16,811,588 bps|     16,81 Mbps
I also did my own Home PC -> directly to speedserver

Code: Select all

Average Throughput in Download Direction              |   98,146,360 bps|     98,15 Mbps
Average Throughput in Upload Direction                |   23,798,098 bps|     23,80 Mbps
on a generic online speedtest my PC gets around 100/33

solo
Posts: 1285
Joined: Sun Feb 14, 2021 10:31 am

Re: Understanding Througput Limitations

Post by solo » Wed Jan 31, 2024 12:49 pm

Thank you, here is connection asymmetry-adjusted VPN client speed summary:

download 9/16 == 56%
upload 17/39 == 43%

These results are not so bad. Before we go into potential improvement options, would you be able to note the server's and client's CPU usages while "Client connected to my VPN -> Speedserver"?

Ru8ey
Posts: 10
Joined: Tue Jan 30, 2024 7:07 pm

Re: Understanding Througput Limitations

Post by Ru8ey » Wed Jan 31, 2024 1:02 pm

Interesting, then maybe my initial understanding of how much bandwidth is to be expected is off.


I will rerun the tests and check CPU usage later today, however most of the machines are relatively new and medium to highend hardware so i would be surprised of a hardware bottleneck there.

Thanks!

solo
Posts: 1285
Joined: Sun Feb 14, 2021 10:31 am

Re: Understanding Througput Limitations

Post by solo » Thu Feb 01, 2024 1:13 am

Oooops, the client's revised results are:

download 9/16 == 56%
..upload 17/16 == 100% [106% exactly but it's due to measurement fluctuations]

Yes, the server's upload speed determines EVERYTHING (unless it's higher than client's).

Ru8ey
Posts: 10
Joined: Tue Jan 30, 2024 7:07 pm

Re: Understanding Througput Limitations

Post by Ru8ey » Thu Feb 01, 2024 7:42 am

But where are you getting the /16 from?
My upload speed should be around 36-40 not 16. I have 100 down 36 Up VDSL

solo
Posts: 1285
Joined: Sun Feb 14, 2021 10:31 am

Re: Understanding Througput Limitations

Post by solo » Thu Feb 01, 2024 7:51 am

Server -> Speedserver with Cat6 cable directly to router
Average Throughput in Upload Direction | 16,811,588 bps| 16,81 Mbps
CPUs %?

Ru8ey
Posts: 10
Joined: Tue Jan 30, 2024 7:07 pm

Re: Understanding Througput Limitations

Post by Ru8ey » Thu Feb 01, 2024 8:22 am

Ah yes that test was 16 you are right.
I Just did that test again, same result about 97/18 this time. CPU usage was idle before the test and did not go above 7% during the test. CPU didnt even boost....

So it seems like the server only using 16 up is the root problem then? What could i try to improve that? On the client PC testing directly to the speedserver we saw full usage of 100/40 so im wondering why the server cant do it.

Ru8ey
Posts: 10
Joined: Tue Jan 30, 2024 7:07 pm

Re: Understanding Througput Limitations

Post by Ru8ey » Thu Feb 01, 2024 8:38 am

Need to make a quick correction, the CPU usage is actually around 30/40%, but only on one core out of 8/16 (hyperthreading) which is why the resource manager was still showing 7%.

Is it normal that softether does not use multiple cores?

I also did a test with only upload and only download instead of simultaneous. On the download test i got 100Mbit with around 40% usage, and on the upload test i got 29 this time with 10% usage

solo
Posts: 1285
Joined: Sun Feb 14, 2021 10:31 am

Re: Understanding Througput Limitations

Post by solo » Thu Feb 01, 2024 9:00 am

Ru8ey wrote:
Thu Feb 01, 2024 8:22 am
So it seems like the server only using 16 up is the root problem then? What could i try to improve that?
Yes, it is the main problem and related to your ISP, or maybe something on your LAN, FW, AV, IDS, etc. As we can not improve on upload 100%, let's focus on download 56%.

In the client's Advanced Settings change:
Encrypt VPN Session with SSL: OFF
Use Data Compression: ON
Number of TCP Connections: 1 to 32

Before you dismiss the option of disabling encryption, note that security depends on context, location and threat level. Anyway, another option is to set the server's algo to a lightweight "RC4-MD5" if you insist on encryption.

Next, upgrade your "Version 4.38 Build 9760" to the latest RTM https://www.softether-download.com/file ... e/Windows/
Is it normal that softether does not use multiple cores?
We'll get to it later.

Ru8ey
Posts: 10
Joined: Tue Jan 30, 2024 7:07 pm

Re: Understanding Througput Limitations

Post by Ru8ey » Thu Feb 01, 2024 9:05 am

OK, i will check with one of the client PCs when i get the chance and post again once i have some more results :)

Post Reply