• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
Netgate Discussion Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login

WAN optimization/acceleration

General pfSense Questions
ipsec ipsec vti qos slow throughput proxy
3
16
1.9k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N
    netblues @rtw915
    last edited by Jan 16, 2022, 7:55 PM

    @rtw915 smb over wan links is always a terrible idea.
    Since it sounds like a batch copy, the best approach for latency would be breaking up the file into multiple volumes and do transfer in parallel.

    And is always a good idea to compress and crc such files, since corruption is common in large transfers.

    It can be scripted in powershell. tar.xz is available on windows 10, and server 2019. And xz is a speedy multicore compressor.
    (at least on linux :)
    as for transfer, sftp is the standard option
    You could also use http, etc.
    As for signaling the other end that all files are complete you can use a date semaphore file, or do a remote http get.
    The receiving end should do a test decompress, and if successful would decompress and assemble the original file.
    rsync is a better option for that, but isn't directly supported on windows.

    It sounds complicated, but its quite straight forward.

    1 Reply Last reply Reply Quote 0
    • S
      stephenw10 Netgate Administrator
      last edited by Jan 16, 2022, 9:32 PM

      Ok, the first thing I would do here then is run some iperf tests across the tunnel to determine what is possible with the current config.

      1 Reply Last reply Reply Quote 0
      • R
        rtw915
        last edited by Jan 17, 2022, 2:30 AM

        @netblues this is a good idea. We have a 3rd data center that is 55ms away and are experiencing similar issues. I tried something like this with 7zip but it took like 5 hours just to compress and break the file into multiple volumes. I have never heard of .xz, so thank you for exposing me to that and it seems like it could be way better.

        @stephenw10 I‘m familiar with iperf but not sure what action should be taken based on the results. Iperf was run on windows servers behind each of the pf clusters.

        C:\Temp\iperf-3.1.3-win64>iperf3.exe -c 10.30.20.20
        Connecting to host 10.30.20.20, port 5201
        [  4] local 10.10.10.42 port 65181 connected to 10.30.20.20 port 5201
        [ ID] Interval           Transfer     Bandwidth
        [  4]   0.00-1.01   sec   896 KBytes  7.27 Mbits/sec
        [  4]   1.01-2.01   sec  2.12 MBytes  17.8 Mbits/sec
        [  4]   2.01-3.01   sec  2.00 MBytes  16.8 Mbits/sec
        [  4]   3.01-4.01   sec  2.00 MBytes  16.8 Mbits/sec
        [  4]   4.01-5.01   sec  2.00 MBytes  16.8 Mbits/sec
        [  4]   5.01-6.01   sec  2.00 MBytes  16.8 Mbits/sec
        [  4]   6.01-7.01   sec  2.12 MBytes  17.8 Mbits/sec
        [  4]   7.01-8.01   sec  2.00 MBytes  16.8 Mbits/sec
        [  4]   8.01-9.01   sec  2.12 MBytes  17.8 Mbits/sec
        [  4]   9.01-10.01  sec  2.00 MBytes  16.8 Mbits/sec
        - - - - - - - - - - - - - - - - - - - - - - - - -
        [ ID] Interval           Transfer     Bandwidth
        [  4]   0.00-10.01  sec  19.2 MBytes  16.1 Mbits/sec                  sender
        [  4]   0.00-10.01  sec  19.2 MBytes  16.1 Mbits/sec                  receiver
        
        iperf Done.
        

        Change window size for optimal TCP window size:
        200,000,000 bps * .09 seconds = 18,000,000 / 8 = 2,250,000

        C:\Temp\iperf-3.1.3-win64>iperf3.exe -c 10.30.20.20 -w 2250000
        Connecting to host 10.30.20.20, port 5201
        [  4] local 10.10.10.42 port 53257 connected to 10.30.20.20 port 5201
        [ ID] Interval           Transfer     Bandwidth
        [  4]   0.00-1.00   sec  3.25 MBytes  27.2 Mbits/sec
        [  4]   1.00-2.00   sec   128 KBytes  1.05 Mbits/sec
        [  4]   2.00-3.00   sec  2.12 MBytes  17.8 Mbits/sec
        [  4]   3.00-4.00   sec  3.00 MBytes  25.2 Mbits/sec
        [  4]   4.00-5.00   sec  3.62 MBytes  30.4 Mbits/sec
        [  4]   5.00-6.00   sec  4.75 MBytes  39.9 Mbits/sec
        [  4]   6.00-7.00   sec  6.00 MBytes  50.4 Mbits/sec
        [  4]   7.00-8.00   sec  6.25 MBytes  52.3 Mbits/sec
        [  4]   8.00-9.00   sec  6.50 MBytes  54.5 Mbits/sec
        [  4]   9.00-10.00  sec  7.88 MBytes  66.1 Mbits/sec
        - - - - - - - - - - - - - - - - - - - - - - - - -
        [ ID] Interval           Transfer     Bandwidth
        [  4]   0.00-10.00  sec  43.5 MBytes  36.5 Mbits/sec                  sender
        [  4]   0.00-10.00  sec  42.0 MBytes  35.2 Mbits/sec                  receiver
        
        iperf Done.
        

        10 Parallel streams:

        C:\Temp\iperf-3.1.3-win64>iperf3.exe -c 10.30.20.20 -P 10
        Connecting to host 10.30.20.20, port 5201
        [  4] local 10.10.10.42 port 57020 connected to 10.30.20.20 port 5201
        [  6] local 10.10.10.42 port 57033 connected to 10.30.20.20 port 5201
        [  8] local 10.10.10.42 port 57043 connected to 10.30.20.20 port 5201
        [ 10] local 10.10.10.42 port 57056 connected to 10.30.20.20 port 5201
        [ 12] local 10.10.10.42 port 57060 connected to 10.30.20.20 port 5201
        [ 14] local 10.10.10.42 port 57070 connected to 10.30.20.20 port 5201
        [ 16] local 10.10.10.42 port 57074 connected to 10.30.20.20 port 5201
        [ 18] local 10.10.10.42 port 57078 connected to 10.30.20.20 port 5201
        [ 20] local 10.10.10.42 port 57095 connected to 10.30.20.20 port 5201
        [ 22] local 10.10.10.42 port 57102 connected to 10.30.20.20 port 5201
        [ ID] Interval           Transfer     Bandwidth
        [  4]   0.00-1.00   sec  1.00 MBytes  8.36 Mbits/sec
        [  6]   0.00-1.00   sec  1.00 MBytes  8.36 Mbits/sec
        [  8]   0.00-1.00   sec   640 KBytes  5.23 Mbits/sec
        [ 10]   0.00-1.00   sec   640 KBytes  5.23 Mbits/sec
        [ 12]   0.00-1.00   sec   384 KBytes  3.14 Mbits/sec
        [ 14]   0.00-1.00   sec   256 KBytes  2.09 Mbits/sec
        [ 16]   0.00-1.00   sec   512 KBytes  4.18 Mbits/sec
        [ 18]   0.00-1.00   sec   256 KBytes  2.09 Mbits/sec
        [ 20]   0.00-1.00   sec   384 KBytes  3.14 Mbits/sec
        [ 22]   0.00-1.00   sec   512 KBytes  4.18 Mbits/sec
        [SUM]   0.00-1.00   sec  5.50 MBytes  46.0 Mbits/sec
        - - - - - - - - - - - - - - - - - - - - - - - - -
        [  4]   1.00-2.00   sec  2.00 MBytes  16.8 Mbits/sec
        [  6]   1.00-2.00   sec  2.12 MBytes  17.8 Mbits/sec
        [  8]   1.00-2.00   sec  1.12 MBytes  9.44 Mbits/sec
        [ 10]   1.00-2.00   sec  1.25 MBytes  10.5 Mbits/sec
        [ 12]   1.00-2.00   sec  0.00 Bytes  0.00 bits/sec
        [ 14]   1.00-2.00   sec   512 KBytes  4.19 Mbits/sec
        [ 16]   1.00-2.00   sec  0.00 Bytes  0.00 bits/sec
        [ 18]   1.00-2.00   sec   128 KBytes  1.05 Mbits/sec
        [ 20]   1.00-2.00   sec   128 KBytes  1.05 Mbits/sec
        [ 22]   1.00-2.00   sec   512 KBytes  4.19 Mbits/sec
        [SUM]   1.00-2.00   sec  7.75 MBytes  65.0 Mbits/sec
        - - - - - - - - - - - - - - - - - - - - - - - - -
        [  4]   2.00-3.00   sec  2.00 MBytes  16.8 Mbits/sec
        [  6]   2.00-3.00   sec  2.00 MBytes  16.8 Mbits/sec
        [  8]   2.00-3.00   sec  1.50 MBytes  12.6 Mbits/sec
        [ 10]   2.00-3.00   sec  1.62 MBytes  13.6 Mbits/sec
        [ 12]   2.00-3.00   sec   256 KBytes  2.10 Mbits/sec
        [ 14]   2.00-3.00   sec   512 KBytes  4.19 Mbits/sec
        [ 16]   2.00-3.00   sec   256 KBytes  2.10 Mbits/sec
        [ 18]   2.00-3.00   sec   256 KBytes  2.10 Mbits/sec
        [ 20]   2.00-3.00   sec   128 KBytes  1.05 Mbits/sec
        [ 22]   2.00-3.00   sec   640 KBytes  5.24 Mbits/sec
        [SUM]   2.00-3.00   sec  9.12 MBytes  76.5 Mbits/sec
        - - - - - - - - - - - - - - - - - - - - - - - - -
        [  4]   3.00-4.00   sec  2.00 MBytes  16.8 Mbits/sec
        [  6]   3.00-4.00   sec  1.88 MBytes  15.7 Mbits/sec
        [  8]   3.00-4.00   sec  1.75 MBytes  14.7 Mbits/sec
        [ 10]   3.00-4.00   sec  1.62 MBytes  13.6 Mbits/sec
        [ 12]   3.00-4.00   sec   256 KBytes  2.10 Mbits/sec
        [ 14]   3.00-4.00   sec   640 KBytes  5.24 Mbits/sec
        [ 16]   3.00-4.00   sec   256 KBytes  2.10 Mbits/sec
        [ 18]   3.00-4.00   sec   384 KBytes  3.15 Mbits/sec
        [ 20]   3.00-4.00   sec   384 KBytes  3.15 Mbits/sec
        [ 22]   3.00-4.00   sec   896 KBytes  7.34 Mbits/sec
        [SUM]   3.00-4.00   sec  10.0 MBytes  83.9 Mbits/sec
        - - - - - - - - - - - - - - - - - - - - - - - - -
        [  4]   4.00-5.00   sec  1.62 MBytes  13.6 Mbits/sec
        [  6]   4.00-5.00   sec  1.62 MBytes  13.6 Mbits/sec
        [  8]   4.00-5.00   sec  1.12 MBytes  9.45 Mbits/sec
        [ 10]   4.00-5.00   sec  1.25 MBytes  10.5 Mbits/sec
        [ 12]   4.00-5.00   sec   256 KBytes  2.10 Mbits/sec
        [ 14]   4.00-5.00   sec   640 KBytes  5.25 Mbits/sec
        [ 16]   4.00-5.00   sec   384 KBytes  3.15 Mbits/sec
        [ 18]   4.00-5.00   sec   384 KBytes  3.15 Mbits/sec
        [ 20]   4.00-5.00   sec   384 KBytes  3.15 Mbits/sec
        [ 22]   4.00-5.00   sec   768 KBytes  6.30 Mbits/sec
        [SUM]   4.00-5.00   sec  8.38 MBytes  70.3 Mbits/sec
        - - - - - - - - - - - - - - - - - - - - - - - - -
        [  4]   5.00-6.00   sec  1.88 MBytes  15.7 Mbits/sec
        [  6]   5.00-6.00   sec  2.12 MBytes  17.8 Mbits/sec
        [  8]   5.00-6.00   sec  1.38 MBytes  11.5 Mbits/sec
        [ 10]   5.00-6.00   sec  1.38 MBytes  11.5 Mbits/sec
        [ 12]   5.00-6.00   sec   640 KBytes  5.24 Mbits/sec
        [ 14]   5.00-6.00   sec   896 KBytes  7.34 Mbits/sec
        [ 16]   5.00-6.00   sec   512 KBytes  4.20 Mbits/sec
        [ 18]   5.00-6.00   sec   512 KBytes  4.20 Mbits/sec
        [ 20]   5.00-6.00   sec   640 KBytes  5.24 Mbits/sec
        [ 22]   5.00-6.00   sec  1.00 MBytes  8.39 Mbits/sec
        [SUM]   5.00-6.00   sec  10.9 MBytes  91.3 Mbits/sec
        - - - - - - - - - - - - - - - - - - - - - - - - -
        [  4]   6.00-7.00   sec  2.00 MBytes  16.8 Mbits/sec
        [  6]   6.00-7.00   sec  1.88 MBytes  15.7 Mbits/sec
        [  8]   6.00-7.00   sec  1.62 MBytes  13.6 Mbits/sec
        [ 10]   6.00-7.00   sec  1.75 MBytes  14.7 Mbits/sec
        [ 12]   6.00-7.00   sec   640 KBytes  5.25 Mbits/sec
        [ 14]   6.00-7.00   sec  1.00 MBytes  8.39 Mbits/sec
        [ 16]   6.00-7.00   sec   768 KBytes  6.29 Mbits/sec
        [ 18]   6.00-7.00   sec   768 KBytes  6.29 Mbits/sec
        [ 20]   6.00-7.00   sec   768 KBytes  6.29 Mbits/sec
        [ 22]   6.00-7.00   sec  1.25 MBytes  10.5 Mbits/sec
        [SUM]   6.00-7.00   sec  12.4 MBytes   104 Mbits/sec
        - - - - - - - - - - - - - - - - - - - - - - - - -
        [  4]   7.00-8.00   sec  2.00 MBytes  16.7 Mbits/sec
        [  6]   7.00-8.00   sec  2.00 MBytes  16.7 Mbits/sec
        [  8]   7.00-8.00   sec  1.62 MBytes  13.6 Mbits/sec
        [ 10]   7.00-8.00   sec  1.50 MBytes  12.6 Mbits/sec
        [ 12]   7.00-8.00   sec   768 KBytes  6.28 Mbits/sec
        [ 14]   7.00-8.00   sec  1.12 MBytes  9.42 Mbits/sec
        [ 16]   7.00-8.00   sec   896 KBytes  7.32 Mbits/sec
        [ 18]   7.00-8.00   sec  1.00 MBytes  8.37 Mbits/sec
        [ 20]   7.00-8.00   sec   896 KBytes  7.32 Mbits/sec
        [ 22]   7.00-8.00   sec  1.25 MBytes  10.5 Mbits/sec
        [SUM]   7.00-8.00   sec  13.0 MBytes   109 Mbits/sec
        - - - - - - - - - - - - - - - - - - - - - - - - -
        [  4]   8.00-9.00   sec  1.75 MBytes  14.7 Mbits/sec
        [  6]   8.00-9.00   sec  1.62 MBytes  13.7 Mbits/sec
        [  8]   8.00-9.00   sec  1.50 MBytes  12.6 Mbits/sec
        [ 10]   8.00-9.00   sec  1.50 MBytes  12.6 Mbits/sec
        [ 12]   8.00-9.00   sec   768 KBytes  6.31 Mbits/sec
        [ 14]   8.00-9.00   sec  1.12 MBytes  9.47 Mbits/sec
        [ 16]   8.00-9.00   sec   768 KBytes  6.31 Mbits/sec
        [ 18]   8.00-9.00   sec   768 KBytes  6.31 Mbits/sec
        [ 20]   8.00-9.00   sec   896 KBytes  7.37 Mbits/sec
        [ 22]   8.00-9.00   sec  1.12 MBytes  9.47 Mbits/sec
        [SUM]   8.00-9.00   sec  11.8 MBytes  98.9 Mbits/sec
        - - - - - - - - - - - - - - - - - - - - - - - - -
        [  4]   9.00-10.00  sec  1.75 MBytes  14.6 Mbits/sec
        [  6]   9.00-10.00  sec  1.75 MBytes  14.6 Mbits/sec
        [  8]   9.00-10.00  sec   896 KBytes  7.32 Mbits/sec
        [ 10]   9.00-10.00  sec  1.50 MBytes  12.5 Mbits/sec
        [ 12]   9.00-10.00  sec   384 KBytes  3.14 Mbits/sec
        [ 14]   9.00-10.00  sec   640 KBytes  5.23 Mbits/sec
        [ 16]   9.00-10.00  sec   640 KBytes  5.23 Mbits/sec
        [ 18]   9.00-10.00  sec   896 KBytes  7.32 Mbits/sec
        [ 20]   9.00-10.00  sec  1.00 MBytes  8.37 Mbits/sec
        [ 22]   9.00-10.00  sec   896 KBytes  7.32 Mbits/sec
        [SUM]   9.00-10.00  sec  10.2 MBytes  85.8 Mbits/sec
        - - - - - - - - - - - - - - - - - - - - - - - - -
        [ ID] Interval           Transfer     Bandwidth
        [  4]   0.00-10.00  sec  18.0 MBytes  15.1 Mbits/sec                  sender
        [  4]   0.00-10.00  sec  18.0 MBytes  15.1 Mbits/sec                  receiver
        [  6]   0.00-10.00  sec  18.0 MBytes  15.1 Mbits/sec                  sender
        [  6]   0.00-10.00  sec  18.0 MBytes  15.1 Mbits/sec                  receiver
        [  8]   0.00-10.00  sec  13.1 MBytes  11.0 Mbits/sec                  sender
        [  8]   0.00-10.00  sec  13.0 MBytes  10.9 Mbits/sec                  receiver
        [ 10]   0.00-10.00  sec  14.0 MBytes  11.7 Mbits/sec                  sender
        [ 10]   0.00-10.00  sec  14.0 MBytes  11.7 Mbits/sec                  receiver
        [ 12]   0.00-10.00  sec  4.25 MBytes  3.56 Mbits/sec                  sender
        [ 12]   0.00-10.00  sec  4.15 MBytes  3.48 Mbits/sec                  receiver
        [ 14]   0.00-10.00  sec  7.25 MBytes  6.08 Mbits/sec                  sender
        [ 14]   0.00-10.00  sec  7.16 MBytes  6.00 Mbits/sec                  receiver
        [ 16]   0.00-10.00  sec  4.88 MBytes  4.09 Mbits/sec                  sender
        [ 16]   0.00-10.00  sec  4.69 MBytes  3.93 Mbits/sec                  receiver
        [ 18]   0.00-10.00  sec  5.25 MBytes  4.40 Mbits/sec                  sender
        [ 18]   0.00-10.00  sec  5.21 MBytes  4.37 Mbits/sec                  receiver
        [ 20]   0.00-10.00  sec  5.50 MBytes  4.61 Mbits/sec                  sender
        [ 20]   0.00-10.00  sec  5.37 MBytes  4.51 Mbits/sec                  receiver
        [ 22]   0.00-10.00  sec  8.75 MBytes  7.34 Mbits/sec                  sender
        [ 22]   0.00-10.00  sec  8.58 MBytes  7.19 Mbits/sec                  receiver
        [SUM]   0.00-10.00  sec  99.0 MBytes  83.0 Mbits/sec                  sender
        [SUM]   0.00-10.00  sec  98.0 MBytes  82.2 Mbits/sec                  receiver
        
        iperf Done.
        

        UDP with expected bandwidth set for minimal datagram loss:

        C:\Temp\iperf-3.1.3-win64>iperf3.exe -c 10.30.20.20 -u -b 80000000 -R
        Connecting to host 10.30.20.20, port 5201
        Reverse mode, remote host 10.30.20.20 is sending
        [  4] local 10.10.10.42 port 63036 connected to 10.30.20.20 port 5201
        [ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
        [  4]   0.00-1.00   sec  9.85 MBytes  82.5 Mbits/sec  0.057 ms  0/1261 (0%)
        [  4]   1.00-2.00   sec  9.52 MBytes  79.9 Mbits/sec  0.040 ms  0/1219 (0%)
        [  4]   2.00-3.00   sec  9.39 MBytes  78.8 Mbits/sec  0.038 ms  0/1202 (0%)
        [  4]   3.00-4.00   sec  9.60 MBytes  80.5 Mbits/sec  0.054 ms  0/1229 (0%)
        [  4]   4.00-5.00   sec  9.53 MBytes  79.9 Mbits/sec  0.043 ms  0/1220 (0%)
        [  4]   5.00-6.00   sec  9.54 MBytes  80.0 Mbits/sec  0.031 ms  0/1221 (0%)
        [  4]   6.00-7.00   sec  9.60 MBytes  80.6 Mbits/sec  0.040 ms  0/1229 (0%)
        [  4]   7.00-8.00   sec  9.48 MBytes  79.5 Mbits/sec  0.043 ms  6/1220 (0.49%)
        [  4]   8.00-9.00   sec  9.54 MBytes  80.0 Mbits/sec  0.037 ms  0/1221 (0%)
        [  4]   9.00-10.00  sec  9.55 MBytes  80.1 Mbits/sec  0.037 ms  0/1223 (0%)
        - - - - - - - - - - - - - - - - - - - - - - - - -
        [ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
        [  4]   0.00-10.00  sec  96.5 MBytes  80.9 Mbits/sec  0.049 ms  6/12353 (0.049%)
        [  4] Sent 12353 datagrams
        
        iperf Done.
        
        N 1 Reply Last reply Jan 17, 2022, 2:56 AM Reply Quote 0
        • N
          netblues @rtw915
          last edited by Jan 17, 2022, 2:56 AM

          @rtw915 Can you possibly try iperf on pf boxes and outside the tunnel ?
          Or port forward one end on windows and run iperf again over public ip and compare.
          This will give an idea about tunnel overheads.

          1 Reply Last reply Reply Quote 0
          • R
            rtw915
            last edited by Jan 17, 2022, 3:27 AM

            I setup a port forward NAT rule. I don't want to have my public IP on here so it will be officiated. It does not seem like the tunnel is really adding that much overhead, right?

            C:\Temp\iperf-3.1.3-win64>iperf3.exe -c public_IP
            Connecting to host public_IP, port 5201
            [  4] local 10.10.10.42 port 65164 connected to public_IP port 5201
            [ ID] Interval           Transfer     Bandwidth
            [  4]   0.00-1.00   sec   768 KBytes  6.29 Mbits/sec
            [  4]   1.00-2.00   sec  2.00 MBytes  16.8 Mbits/sec
            [  4]   2.00-3.00   sec  1.88 MBytes  15.7 Mbits/sec
            [  4]   3.00-4.00   sec  1.88 MBytes  15.7 Mbits/sec
            [  4]   4.00-5.00   sec  1.88 MBytes  15.7 Mbits/sec
            [  4]   5.00-6.00   sec  2.00 MBytes  16.8 Mbits/sec
            [  4]   6.00-7.00   sec  1.88 MBytes  15.7 Mbits/sec
            [  4]   7.00-8.00   sec  1.88 MBytes  15.7 Mbits/sec
            [  4]   8.00-9.00   sec  2.00 MBytes  16.8 Mbits/sec
            [  4]   9.00-10.00  sec  1.88 MBytes  15.7 Mbits/sec
            - - - - - - - - - - - - - - - - - - - - - - - - -
            [ ID] Interval           Transfer     Bandwidth
            [  4]   0.00-10.00  sec  18.0 MBytes  15.1 Mbits/sec                  sender
            [  4]   0.00-10.00  sec  18.0 MBytes  15.1 Mbits/sec                  receiver
            
            iperf Done.
            

            Optimal TCP window size:

            C:\Temp\iperf-3.1.3-win64>iperf3.exe -c public_IP -w 2250000
            Connecting to host public_IP, port 5201
            [  4] local 10.10.10.42 port 60842 connected to public_IP port 5201
            [ ID] Interval           Transfer     Bandwidth
            [  4]   0.00-1.00   sec  2.88 MBytes  24.1 Mbits/sec
            [  4]   1.00-2.00   sec  1.00 MBytes  8.39 Mbits/sec
            [  4]   2.00-3.00   sec  2.25 MBytes  18.9 Mbits/sec
            [  4]   3.00-4.00   sec  4.12 MBytes  34.6 Mbits/sec
            [  4]   4.00-5.00   sec  5.12 MBytes  43.0 Mbits/sec
            [  4]   5.00-6.00   sec  6.50 MBytes  54.6 Mbits/sec
            [  4]   6.00-7.00   sec  8.25 MBytes  69.2 Mbits/sec
            [  4]   7.00-8.00   sec  9.25 MBytes  77.6 Mbits/sec
            [  4]   8.00-9.00   sec  6.00 MBytes  50.3 Mbits/sec
            [  4]   9.00-10.00  sec  3.00 MBytes  25.2 Mbits/sec
            - - - - - - - - - - - - - - - - - - - - - - - - -
            [ ID] Interval           Transfer     Bandwidth
            [  4]   0.00-10.00  sec  48.4 MBytes  40.6 Mbits/sec                  sender
            [  4]   0.00-10.00  sec  46.5 MBytes  39.0 Mbits/sec                  receiver
            
            iperf Done.
            

            10 Parallel streams:

            C:\Temp\iperf-3.1.3-win64>iperf3.exe -c  public_IP -P 10
            Connecting to host  public_IP, port 5201
            [  4] local 10.10.10.42 port 59407 connected to  public_IP port 5201
            [  6] local 10.10.10.42 port 59417 connected to  public_IP port 5201
            [  8] local 10.10.10.42 port 59421 connected to  public_IP port 5201
            [ 10] local 10.10.10.42 port 59431 connected to  public_IP port 5201
            [ 12] local 10.10.10.42 port 59441 connected to  public_IP port 5201
            [ 14] local 10.10.10.42 port 59451 connected to  public_IP port 5201
            [ 16] local 10.10.10.42 port 59464 connected to  public_IP port 5201
            [ 18] local 10.10.10.42 port 59465 connected to  public_IP port 5201
            [ 20] local 10.10.10.42 port 59475 connected to  public_IP port 5201
            [ 22] local 10.10.10.42 port 59488 connected to  public_IP port 5201
            [ ID] Interval           Transfer     Bandwidth
            [  4]   0.00-1.00   sec   256 KBytes  2.10 Mbits/sec
            [  6]   0.00-1.00   sec   896 KBytes  7.33 Mbits/sec
            [  8]   0.00-1.00   sec   384 KBytes  3.14 Mbits/sec
            [ 10]   0.00-1.00   sec   384 KBytes  3.14 Mbits/sec
            [ 12]   0.00-1.00   sec   384 KBytes  3.14 Mbits/sec
            [ 14]   0.00-1.00   sec   256 KBytes  2.10 Mbits/sec
            [ 16]   0.00-1.00   sec   896 KBytes  7.33 Mbits/sec
            [ 18]   0.00-1.00   sec   640 KBytes  5.24 Mbits/sec
            [ 20]   0.00-1.00   sec   384 KBytes  3.14 Mbits/sec
            [ 22]   0.00-1.00   sec   384 KBytes  3.14 Mbits/sec
            [SUM]   0.00-1.00   sec  4.75 MBytes  39.8 Mbits/sec
            - - - - - - - - - - - - - - - - - - - - - - - - -
            [  4]   1.00-2.00   sec   512 KBytes  4.20 Mbits/sec
            [  6]   1.00-2.00   sec  2.00 MBytes  16.8 Mbits/sec
            [  8]   1.00-2.00   sec   512 KBytes  4.20 Mbits/sec
            [ 10]   1.00-2.00   sec   128 KBytes  1.05 Mbits/sec
            [ 12]   1.00-2.00   sec   512 KBytes  4.20 Mbits/sec
            [ 14]   1.00-2.00   sec   512 KBytes  4.20 Mbits/sec
            [ 16]   1.00-2.00   sec  1.88 MBytes  15.7 Mbits/sec
            [ 18]   1.00-2.00   sec   896 KBytes  7.34 Mbits/sec
            [ 20]   1.00-2.00   sec  0.00 Bytes  0.00 bits/sec
            [ 22]   1.00-2.00   sec   256 KBytes  2.10 Mbits/sec
            [SUM]   1.00-2.00   sec  7.12 MBytes  59.8 Mbits/sec
            - - - - - - - - - - - - - - - - - - - - - - - - -
            [  4]   2.00-3.00   sec   512 KBytes  4.20 Mbits/sec
            [  6]   2.00-3.00   sec  2.00 MBytes  16.8 Mbits/sec
            [  8]   2.00-3.00   sec   768 KBytes  6.29 Mbits/sec
            [ 10]   2.00-3.00   sec   128 KBytes  1.05 Mbits/sec
            [ 12]   2.00-3.00   sec   512 KBytes  4.20 Mbits/sec
            [ 14]   2.00-3.00   sec   512 KBytes  4.20 Mbits/sec
            [ 16]   2.00-3.00   sec  1.88 MBytes  15.7 Mbits/sec
            [ 18]   2.00-3.00   sec  1.25 MBytes  10.5 Mbits/sec
            [ 20]   2.00-3.00   sec   256 KBytes  2.10 Mbits/sec
            [ 22]   2.00-3.00   sec   512 KBytes  4.20 Mbits/sec
            [SUM]   2.00-3.00   sec  8.25 MBytes  69.2 Mbits/sec
            - - - - - - - - - - - - - - - - - - - - - - - - -
            [  4]   3.00-4.00   sec   640 KBytes  5.24 Mbits/sec
            [  6]   3.00-4.00   sec  1.88 MBytes  15.7 Mbits/sec
            [  8]   3.00-4.00   sec   896 KBytes  7.34 Mbits/sec
            [ 10]   3.00-4.00   sec   384 KBytes  3.14 Mbits/sec
            [ 12]   3.00-4.00   sec   768 KBytes  6.29 Mbits/sec
            [ 14]   3.00-4.00   sec   640 KBytes  5.24 Mbits/sec
            [ 16]   3.00-4.00   sec  2.00 MBytes  16.8 Mbits/sec
            [ 18]   3.00-4.00   sec   896 KBytes  7.34 Mbits/sec
            [ 20]   3.00-4.00   sec   256 KBytes  2.10 Mbits/sec
            [ 22]   3.00-4.00   sec   640 KBytes  5.24 Mbits/sec
            [SUM]   3.00-4.00   sec  8.88 MBytes  74.4 Mbits/sec
            - - - - - - - - - - - - - - - - - - - - - - - - -
            [  4]   4.00-5.00   sec   896 KBytes  7.34 Mbits/sec
            [  6]   4.00-5.00   sec  1.88 MBytes  15.7 Mbits/sec
            [  8]   4.00-5.00   sec  1.12 MBytes  9.43 Mbits/sec
            [ 10]   4.00-5.00   sec   384 KBytes  3.14 Mbits/sec
            [ 12]   4.00-5.00   sec  1.00 MBytes  8.38 Mbits/sec
            [ 14]   4.00-5.00   sec   896 KBytes  7.34 Mbits/sec
            [ 16]   4.00-5.00   sec  1.88 MBytes  15.7 Mbits/sec
            [ 18]   4.00-5.00   sec  1.00 MBytes  8.38 Mbits/sec
            [ 20]   4.00-5.00   sec   384 KBytes  3.14 Mbits/sec
            [ 22]   4.00-5.00   sec   768 KBytes  6.29 Mbits/sec
            [SUM]   4.00-5.00   sec  10.1 MBytes  84.9 Mbits/sec
            - - - - - - - - - - - - - - - - - - - - - - - - -
            [  4]   5.00-6.00   sec  1.25 MBytes  10.5 Mbits/sec
            [  6]   5.00-6.00   sec  1.88 MBytes  15.7 Mbits/sec
            [  8]   5.00-6.00   sec  1.62 MBytes  13.6 Mbits/sec
            [ 10]   5.00-6.00   sec   640 KBytes  5.25 Mbits/sec
            [ 12]   5.00-6.00   sec  1.38 MBytes  11.5 Mbits/sec
            [ 14]   5.00-6.00   sec  1.12 MBytes  9.44 Mbits/sec
            [ 16]   5.00-6.00   sec  2.00 MBytes  16.8 Mbits/sec
            [ 18]   5.00-6.00   sec  1.25 MBytes  10.5 Mbits/sec
            [ 20]   5.00-6.00   sec   640 KBytes  5.25 Mbits/sec
            [ 22]   5.00-6.00   sec  1.00 MBytes  8.39 Mbits/sec
            [SUM]   5.00-6.00   sec  12.8 MBytes   107 Mbits/sec
            - - - - - - - - - - - - - - - - - - - - - - - - -
            [  4]   6.00-7.00   sec  1.62 MBytes  13.6 Mbits/sec
            [  6]   6.00-7.00   sec  2.00 MBytes  16.8 Mbits/sec
            [  8]   6.00-7.00   sec  1.88 MBytes  15.7 Mbits/sec
            [ 10]   6.00-7.00   sec   896 KBytes  7.34 Mbits/sec
            [ 12]   6.00-7.00   sec  1.75 MBytes  14.7 Mbits/sec
            [ 14]   6.00-7.00   sec  1.62 MBytes  13.6 Mbits/sec
            [ 16]   6.00-7.00   sec  1.88 MBytes  15.7 Mbits/sec
            [ 18]   6.00-7.00   sec  1.88 MBytes  15.7 Mbits/sec
            [ 20]   6.00-7.00   sec   768 KBytes  6.29 Mbits/sec
            [ 22]   6.00-7.00   sec  1.38 MBytes  11.5 Mbits/sec
            [SUM]   6.00-7.00   sec  15.6 MBytes   131 Mbits/sec
            - - - - - - - - - - - - - - - - - - - - - - - - -
            [  4]   7.00-8.00   sec  1.00 MBytes  8.39 Mbits/sec
            [  6]   7.00-8.00   sec  1.88 MBytes  15.7 Mbits/sec
            [  8]   7.00-8.00   sec  2.00 MBytes  16.8 Mbits/sec
            [ 10]   7.00-8.00   sec   512 KBytes  4.20 Mbits/sec
            [ 12]   7.00-8.00   sec  1.88 MBytes  15.7 Mbits/sec
            [ 14]   7.00-8.00   sec   128 KBytes  1.05 Mbits/sec
            [ 16]   7.00-8.00   sec  2.00 MBytes  16.8 Mbits/sec
            [ 18]   7.00-8.00   sec  1.88 MBytes  15.7 Mbits/sec
            [ 20]   7.00-8.00   sec   512 KBytes  4.20 Mbits/sec
            [ 22]   7.00-8.00   sec   128 KBytes  1.05 Mbits/sec
            [SUM]   7.00-8.00   sec  11.9 MBytes  99.6 Mbits/sec
            - - - - - - - - - - - - - - - - - - - - - - - - -
            [  4]   8.00-9.00   sec  1.38 MBytes  11.5 Mbits/sec
            [  6]   8.00-9.00   sec  1.88 MBytes  15.7 Mbits/sec
            [  8]   8.00-9.00   sec  1.88 MBytes  15.7 Mbits/sec
            [ 10]   8.00-9.00   sec   768 KBytes  6.29 Mbits/sec
            [ 12]   8.00-9.00   sec  1.88 MBytes  15.7 Mbits/sec
            [ 14]   8.00-9.00   sec   256 KBytes  2.10 Mbits/sec
            [ 16]   8.00-9.00   sec  1.88 MBytes  15.7 Mbits/sec
            [ 18]   8.00-9.00   sec  1.88 MBytes  15.7 Mbits/sec
            [ 20]   8.00-9.00   sec   640 KBytes  5.24 Mbits/sec
            [ 22]   8.00-9.00   sec   384 KBytes  3.14 Mbits/sec
            [SUM]   8.00-9.00   sec  12.8 MBytes   107 Mbits/sec
            - - - - - - - - - - - - - - - - - - - - - - - - -
            [  4]   9.00-10.00  sec  1.75 MBytes  14.7 Mbits/sec
            [  6]   9.00-10.00  sec  1.88 MBytes  15.7 Mbits/sec
            [  8]   9.00-10.00  sec  1.88 MBytes  15.7 Mbits/sec
            [ 10]   9.00-10.00  sec  1.00 MBytes  8.39 Mbits/sec
            [ 12]   9.00-10.00  sec  1.88 MBytes  15.7 Mbits/sec
            [ 14]   9.00-10.00  sec   384 KBytes  3.15 Mbits/sec
            [ 16]   9.00-10.00  sec  1.88 MBytes  15.7 Mbits/sec
            [ 18]   9.00-10.00  sec  1.88 MBytes  15.7 Mbits/sec
            [ 20]   9.00-10.00  sec  1.00 MBytes  8.39 Mbits/sec
            [ 22]   9.00-10.00  sec   384 KBytes  3.15 Mbits/sec
            [SUM]   9.00-10.00  sec  13.9 MBytes   116 Mbits/sec
            - - - - - - - - - - - - - - - - - - - - - - - - -
            [ ID] Interval           Transfer     Bandwidth
            [  4]   0.00-10.00  sec  9.75 MBytes  8.18 Mbits/sec                  sender
            [  4]   0.00-10.00  sec  9.70 MBytes  8.14 Mbits/sec                  receiver
            [  6]   0.00-10.00  sec  18.1 MBytes  15.2 Mbits/sec                  sender
            [  6]   0.00-10.00  sec  18.1 MBytes  15.2 Mbits/sec                  receiver
            [  8]   0.00-10.00  sec  12.9 MBytes  10.8 Mbits/sec                  sender
            [  8]   0.00-10.00  sec  12.9 MBytes  10.8 Mbits/sec                  receiver
            [ 10]   0.00-10.00  sec  5.12 MBytes  4.30 Mbits/sec                  sender
            [ 10]   0.00-10.00  sec  5.04 MBytes  4.23 Mbits/sec                  receiver
            [ 12]   0.00-10.00  sec  11.9 MBytes  9.96 Mbits/sec                  sender
            [ 12]   0.00-10.00  sec  11.8 MBytes  9.92 Mbits/sec                  receiver
            [ 14]   0.00-10.00  sec  6.25 MBytes  5.24 Mbits/sec                  sender
            [ 14]   0.00-10.00  sec  6.11 MBytes  5.12 Mbits/sec                  receiver
            [ 16]   0.00-10.00  sec  18.1 MBytes  15.2 Mbits/sec                  sender
            [ 16]   0.00-10.00  sec  18.1 MBytes  15.2 Mbits/sec                  receiver
            [ 18]   0.00-10.00  sec  13.4 MBytes  11.2 Mbits/sec                  sender
            [ 18]   0.00-10.00  sec  13.4 MBytes  11.2 Mbits/sec                  receiver
            [ 20]   0.00-10.00  sec  4.75 MBytes  3.98 Mbits/sec                  sender
            [ 20]   0.00-10.00  sec  4.65 MBytes  3.90 Mbits/sec                  receiver
            [ 22]   0.00-10.00  sec  5.75 MBytes  4.82 Mbits/sec                  sender
            [ 22]   0.00-10.00  sec  5.55 MBytes  4.66 Mbits/sec                  receiver
            [SUM]   0.00-10.00  sec   106 MBytes  88.9 Mbits/sec                  sender
            [SUM]   0.00-10.00  sec   105 MBytes  88.4 Mbits/sec                  receiver
            
            iperf Done.
            

            Running the UDP switch publicly resulted in hundreds of datagrams being received out-of-order.

            N 1 Reply Last reply Jan 17, 2022, 3:59 AM Reply Quote 0
            • N
              netblues @rtw915
              last edited by Jan 17, 2022, 3:59 AM

              @rtw915 Well, yes, it looks like the tunnel isn't adding anything significant. However speed does fluctuate a lot and this is probably an indication for congestion somewhere.
              Not much you can do I guess too.
              With such fluctuations, anything tcp will suffer, especially anything smb based
              7zip supports a multihread option in bzip2 format.
              Check it out. (also be careful with multithreading. It can easily saturate all your resources.
              Also robocopy supports parallel copies, (that is if you break up your file in volumes)
              Linux is better at compressing, splitting, rsyncing and decompressing, but probably introducing a new server just for that might be an overkill too.

              1 Reply Last reply Reply Quote 0
              • S
                stephenw10 Netgate Administrator
                last edited by Jan 17, 2022, 12:47 PM

                Mmm, 38Mbps doesn't seem too bad given those results though. That's close to what you see with a single stream in iperf using the optimised window size.
                Given that the tunnel itself (or even the route) doesn't support more that 80Mbps it's about what I might expect there. I'm not sure if there's any improvement to be found without changing something significant.

                Steve

                1 Reply Last reply Reply Quote 0
                • R
                  rtw915
                  last edited by Jan 18, 2022, 6:21 PM

                  @netblues I remembered why I got stuck when trying to split a single file into smaller volumes. The source does not have enough space to duplicate the file into the smaller volumes to then transfer in parallel. Is it possible to start moving the created volumes in parallel as they are created?

                  @stephenw10 I agree, but it is just too slow.

                  1 Reply Last reply Reply Quote 0
                  • S
                    stephenw10 Netgate Administrator
                    last edited by Jan 18, 2022, 7:09 PM

                    Higher WAN bandwidth? Faster hardware? What's it running on now?

                    1 Reply Last reply Reply Quote 0
                    • R
                      rtw915
                      last edited by rtw915 Jan 18, 2022, 10:38 PM Jan 18, 2022, 10:24 PM

                      Using Mathis equation: Rate < (MSS/RTT)*(1 / sqrt(p))

                      Where:
                      MSS: maximum segment size - 1300 for IPSec overhead
                      RTT: round trip time - 90ms
                      P: Loss rate in % - .0002 seems about right I hope

                      10213764.62 bytes < (1300/.09) * (1/SQRT(.0002%))

                      10213764.62 bytes * 8 /10^6 = ~81Mbps

                      This calculator https://wintelguy.com/wanperf.pl does the Mathis equation too, and increasing the WAN bandwidth does not increase the throughput.

                      @stephenw10 We are running SYS-1019D-FRN8TP with 64GB of mem. Based on the minimal throughput difference between public and IPSec iperf tests and Mathis equation output, I don’t think it is a hardware issue. I think TCP connections need to be parallelized and/or a proxy to perform TCP ACK trickery with an optimal TCP window size. I don't know, maybe there is a third solution.

                      -Ryan

                      1 Reply Last reply Reply Quote 0
                      • R
                        rtw915
                        last edited by Jan 19, 2022, 1:38 AM

                        Ok, so after a few more hours of googling I found a file transfer tool for high latency connections that seems to work great! The throughput that UFTP http://uftp-multicast.sourceforge.net/ was able to achieve almost saturated the bandwidth of the connection through the tunnel (186 Mbps)! I tested with an 8GB file.

                        The remote side (Client) I ran this:

                        uftpd -B 2250000 -L C:\temp\uftpd_log.txt -F @LOG
                        

                        On the local side (Server) this:

                        uftp -f -B 2250000 -b 1200 -R 200000 -M 10.30.20.20  "C:\temp\2-25-2021.pcapng"
                        

                        Transfer summary:

                        Transfer status:
                        Host: 0x8811096B   	Status: Completed   time: 359.405 seconds
                        Total elapsed time: 359.405 seconds
                        Overall throughput: 23350.92 KB/s
                        -----------------------------
                        Finishing group
                        Sending DONE 1.1
                        Got COMPLETE from client 0x8811096B
                        Late completions:
                        Sending DONE_CONF 2.1
                        

                        I think this solves the batch file transfer speed issue. Now the SQL team needs me to find a way to improve SQL linked server transfer rates to synchronize transactions.

                        N 1 Reply Last reply Jan 19, 2022, 7:53 AM Reply Quote 3
                        • S
                          stephenw10 Netgate Administrator
                          last edited by Jan 19, 2022, 2:15 AM

                          Nice find!

                          1 Reply Last reply Reply Quote 0
                          • N
                            netblues @rtw915
                            last edited by Jan 19, 2022, 7:53 AM

                            @rtw915 said in WAN optimization/acceleration:

                            Now the SQL team needs me to find a way to improve SQL linked server transfer rates to synchronize transactions.

                            This will bring you back to the initial wan accelerator solution.
                            The only other possible solution is to redesing the db subsystem, utilizing some way of sql replication, taking into consideration propagation delays

                            1 Reply Last reply Reply Quote 0
                            13 out of 16
                            • First post
                              13/16
                              Last post
                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.