Problem with Windows VPN client upstream speed efficiency

Post your questions about SoftEther VPN software here. Please answer questions if you can afford.
Post Reply
mmihelic
Posts: 5
Joined: Mon Mar 07, 2016 6:35 am

Problem with Windows VPN client upstream speed efficiency

Post by mmihelic » Mon Mar 07, 2016 7:01 am

I think I see a definite sign of a problem with upstream speed efficiency present at least in Win10 when using SoftEther client caused by the SoftEther client (driver?) itself. I am testing on a high-speed, high-latency (58+ms) asymmetric link (250/25). I am trying to avoid the SMB issues by using FTPS for testing the transfer speeds, but I am seeing similar behavior on all tests that I have run - including SMB copy operations with a non-domain controller server. I am also trying to avoid the provider QOS by using the same port and protocol for all tests.

The experiment that I suggest to repeat my finding is simple:

a) setup an EtherSoft server and Win2012R2 SSTP server
b) connect using to Win2012R2 SSTP server using Win10 SSTP client and make the baseline measurements.
c) connect to a SoftEther server first using the SoftEther client (UDP then TCP) and record the speeds achieved - especially the upload speed.
d) connect to the SoftEther server using the Win10 SSTP client and make another set of measurements.

What I am consistently seeing is a significantly higher upload speed when using the Win10 SSTP client connected to the SoftEther server to the ones achieved by the SoftEther VPN client. Download speed is highest when using the SoftEther VPN client which is, of course, expected.
I have tried this experiment using different SoftEther client optimisations (different number of connections, duplex vs. half-duplex, TCP vs. UDP) with similar results.

I think that there is something *within* the SoftEther Windows client that is throttling the upstream.

I would be interested if anyone else is able to confirm my findings.

--
Regards, Matej.

thisjun
Posts: 2458
Joined: Mon Feb 24, 2014 11:03 am

Re: Problem with Windows VPN client upstream speed efficienc

Post by thisjun » Fri Apr 01, 2016 6:57 am

I want to know how large the difference.
Could you show result of your test?

mmihelic
Posts: 5
Joined: Mon Mar 07, 2016 6:35 am

Re: Problem with Windows VPN client upstream speed efficienc

Post by mmihelic » Fri Apr 01, 2016 7:38 am

thisjun wrote:
> I want to know how large the difference.
> Could you show result of your test?

Good morning.

I will need to redo the measurements, and this might take me a couple of days. I'll try to get more measurements and provide you with an average. Until then, the values bellow should be considered unreliable. I was hoping someone else was seeing similar behavior.

The difference in upload speed was huge: it was up to four times faster with Microsoft SSTP client. We are talking speeds of about 90 kilobytes/second vs. 400+ kilobytes/second The download speed did not differentiate that much.

--
Regards, Matej.

mmihelic
Posts: 5
Joined: Mon Mar 07, 2016 6:35 am

Re: Problem with Windows VPN client upstream speed efficienc

Post by mmihelic » Mon Apr 04, 2016 6:58 pm

Good evening.

I did all I could to eliminate external factors. The tests being run were made in a batch and in rapid succession. I think that you can disregard basically all information besides the "speedUp" values from the results bellow, and you will see the pattern I have observed: "native" SoftEther client has distinctly poorer upload performance that cannot be contributed to the (SoftEther) server part. The same server is quite capable of achieving higher speeds when a different client is being used. Well, at least when running on a Win10 client.

For each VPN type do dial, flushdns, ping, sleep 10s and then with the cURL three times upload and download an 11.4Mb 7z (uncompressable) file using FTPS through the VPN.

for %%d in (...VPNs...) do (
...DISCONNECT...
timeout /t 3
... CONNECT VPN...
ipconfig /flushdns
timeout /t 10
ipconfig /flushdns
ping -4 %HOST%
for /L %%i in (0,1,2) do (
if exist out.bin del /f out.bin
ECHO *** RUN #%%i / %%d>> c:\temp\speed.log
curl.exe %AUTH% -kw "\n+++RUN #%%i operation: UL time: %%{time_total} sizeDl: %%{size_download} speedDn: %%{speed_download} sizeUl: %%{size_upload} speedUp: %%{speed_upload}\n" ftps://%HOST%/MM/ -T C:\Temp\TEST.7z 1>> c:\temp\speed.log
curl.exe %AUTH% -kw "\n+++RUN #%%i operation: DL time: %%{time_total} sizeDl: %%{size_download} speedDn: %%{speed_download} sizeUl: %%{size_upload} speedUp: %%{speed_upload}\n" -o out.bin ftps://%HOST%/MM/TEST.7z 1>> c:\temp\speed.log
)
)

========= RESULTS =========

*** "SoftEther 16conn/half-duplex"

+++RUN #0 operation: UL time: 51,297 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 233726,000
+++RUN #0 operation: DL time: 16,250 sizeDl: 11989459 speedDn: 737812,000 sizeUl: 0 speedUp: 0,000
+++RUN #1 operation: UL time: 49,344 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 242977,000
+++RUN #1 operation: DL time: 15,219 sizeDl: 11989459 speedDn: 787795,000 sizeUl: 0 speedUp: 0,000
+++RUN #2 operation: UL time: 50,781 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 236101,000
+++RUN #2 operation: DL time: 15,406 sizeDl: 11989459 speedDn: 778233,000 sizeUl: 0 speedUp: 0,000

*** "SoftEther/TCP 16conn/half-duplex"

+++RUN #0 operation: UL time: 45,719 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 262242,000
+++RUN #0 operation: DL time: 14,485 sizeDl: 11989459 speedDn: 827715,000 sizeUl: 0 speedUp: 0,000
+++RUN #1 operation: UL time: 46,109 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 260024,000
+++RUN #1 operation: DL time: 14,610 sizeDl: 11989459 speedDn: 820633,000 sizeUl: 0 speedUp: 0,000
+++RUN #2 operation: UL time: 46,219 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 259405,000
+++RUN #2 operation: DL time: 14,438 sizeDl: 11989459 speedDn: 830409,000 sizeUl: 0 speedUp: 0,000

*** "W10 SSTP client to W2012R2 VPN server"

+++RUN #0 operation: UL time: 21,203 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 565460,000
+++RUN #0 operation: DL time: 28,000 sizeDl: 11989459 speedDn: 428194,000 sizeUl: 0 speedUp: 0,000
+++RUN #1 operation: UL time: 21,062 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 569245,000
+++RUN #1 operation: DL time: 28,750 sizeDl: 11989459 speedDn: 417024,000 sizeUl: 0 speedUp: 0,000
+++RUN #2 operation: UL time: 23,422 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 511888,000
+++RUN #2 operation: DL time: 31,391 sizeDl: 11989459 speedDn: 381939,000 sizeUl: 0 speedUp: 0,000

*** "W10 SSTP client to SoftEther VPN server"

+++RUN #0 operation: UL time: 15,719 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 762736,000
+++RUN #0 operation: DL time: 14,875 sizeDl: 11989459 speedDn: 806014,000 sizeUl: 0 speedUp: 0,000
+++RUN #1 operation: UL time: 15,750 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 761235,000
+++RUN #1 operation: DL time: 14,953 sizeDl: 11989459 speedDn: 801809,000 sizeUl: 0 speedUp: 0,000
+++RUN #2 operation: UL time: 15,844 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 756719,000
+++RUN #2 operation: DL time: 14,875 sizeDl: 11989459 speedDn: 806014,000 sizeUl: 0 speedUp: 0,000


******************** Second run ********************

*** "SoftEther 16conn/half-duplex"

+++RUN #0 operation: UL time: 43,953 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 272779,000
+++RUN #0 operation: DL time: 14,500 sizeDl: 11989459 speedDn: 826859,000 sizeUl: 0 speedUp: 0,000
+++RUN #1 operation: UL time: 46,188 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 259579,000
+++RUN #1 operation: DL time: 14,359 sizeDl: 11989459 speedDn: 834978,000 sizeUl: 0 speedUp: 0,000
+++RUN #2 operation: UL time: 44,797 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 267639,000
+++RUN #2 operation: DL time: 14,485 sizeDl: 11989459 speedDn: 827715,000 sizeUl: 0 speedUp: 0,000

*** "SoftEther/TCP 16conn/half-duplex"

+++RUN #0 operation: UL time: 50,859 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 235739,000
+++RUN #0 operation: DL time: 15,000 sizeDl: 11989459 speedDn: 799297,000 sizeUl: 0 speedUp: 0,000
+++RUN #1 operation: UL time: 46,453 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 258098,000
+++RUN #1 operation: DL time: 14,969 sizeDl: 11989459 speedDn: 800952,000 sizeUl: 0 speedUp: 0,000
+++RUN #2 operation: UL time: 48,625 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 246569,000
+++RUN #2 operation: DL time: 15,047 sizeDl: 11989459 speedDn: 796800,000 sizeUl: 0 speedUp: 0,000

*** "W10 SSTP client to W2012R2 VPN server"

+++RUN #0 operation: UL time: 17,735 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 676033,000
+++RUN #0 operation: DL time: 16,141 sizeDl: 11989459 speedDn: 742795,000 sizeUl: 0 speedUp: 0,000
+++RUN #1 operation: UL time: 17,484 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 685738,000
+++RUN #1 operation: DL time: 15,985 sizeDl: 11989459 speedDn: 750044,000 sizeUl: 0 speedUp: 0,000
+++RUN #2 operation: UL time: 17,313 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 692511,000
+++RUN #2 operation: DL time: 16,000 sizeDl: 11989459 speedDn: 749341,000 sizeUl: 0 speedUp: 0,000

*** "W10 SSTP client to SoftEther VPN server"

+++RUN #0 operation: UL time: 16,703 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 717802,000
+++RUN #0 operation: DL time: 15,609 sizeDl: 11989459 speedDn: 768111,000 sizeUl: 0 speedUp: 0,000
+++RUN #1 operation: UL time: 16,843 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 711836,000
+++RUN #1 operation: DL time: 15,687 sizeDl: 11989459 speedDn: 764292,000 sizeUl: 0 speedUp: 0,000
+++RUN #2 operation: UL time: 16,859 sizeDl: 0 speedDn: 0,000 sizeUl: 11989459 speedUp: 711160,000
+++RUN #2 operation: DL time: 15,843 sizeDl: 11989459 speedDn: 756766,000 sizeUl: 0 speedUp: 0,000

--
Regards,
Matej.

thisjun
Posts: 2458
Joined: Mon Feb 24, 2014 11:03 am

Re: Problem with Windows VPN client upstream speed efficienc

Post by thisjun » Fri Apr 22, 2016 7:54 am

Why did you use half-duplex mode in SoftEther?
Why did you increase the number of TCP connections?

mmihelic
Posts: 5
Joined: Mon Mar 07, 2016 6:35 am

Re: Problem with Windows VPN client upstream speed efficienc

Post by mmihelic » Fri Apr 22, 2016 8:24 am

Good morning.

Yes, I did use the half-duplex mode with 16 connections.

-- Regards, Matej.

thisjun
Posts: 2458
Joined: Mon Feb 24, 2014 11:03 am

Re: Problem with Windows VPN client upstream speed efficienc

Post by thisjun » Fri May 20, 2016 7:30 am

Why?

mmihelic
Posts: 5
Joined: Mon Mar 07, 2016 6:35 am

Re: Problem with Windows VPN client upstream speed efficienc

Post by mmihelic » Fri May 20, 2016 1:21 pm

I've done measurements with and without multiple connections. There were no noticeable differences overall and the performance of the Windows SoftEther client with only one connection was bad as well. The results with multiple connections were a bit better so I posted only these.

-- Regards, Matej.

thisjun
Posts: 2458
Joined: Mon Feb 24, 2014 11:03 am

Re: Problem with Windows VPN client upstream speed efficienc

Post by thisjun » Thu Jun 02, 2016 5:24 am

Half-duplex mode is for avoiding limitation of some proxy.
So, full-duplex is better for performance.

Post Reply