Author Topic: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???  (Read 71534 times)

Doug Bissett

  • Hero Member
  • *****
  • Posts: 1593
  • Karma: +4/-2
    • View Profile
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #90 on: September 25, 2019, 03:17:48 am »
Quote
netstat -n

Yeah, that is the one that lies to you.

Quote
but the problem about throuput going from 45 to 135mbps is not normal.

Well, actually it is. That can be caused by a lot of things. The usual cause is bandwidth shaping, by internet suppliers (not necessarily your own).

Quote
Under windows, I have a very stable 192mbps throuput during the test time (nperf) each time. (with or without IJFW, the fluctuation is the same and changing the driver, not working better.... tcp/ip ?

As I said, there are a lot of reasons for the speed to fluctuate. You can do a test between two systems, on your own network, to see what happens (eliminating outside influences). There is a program, called netio, at Hobbes: http://hobbes.nmsu.edu/download/pub/os2/util/network/netio132.zip. It will work between two computers, and it has support for more than one OS. If that shows the same thing, you need to look at your own setup. If it is good, you need to look outside of your own systems.

Ian Manners

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 464
  • Karma: +10/-0
  • I am the computer, it is me.
    • View Profile
    • ComKal Networks Australia
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #91 on: January 12, 2020, 09:58:02 am »
My current NBN/HFC connection (Australian) is officially 50/20Mbps but is more like a 38ms 15/2Mbps connection with cached burst max of 32Mbps download and cached sustained download of 17Mbps with maximum non cached download speeds of 3.6Mbps. After much optimisation individually using Windows 7, Zorin OS Ultimate (Ubuntu variant) and OS/2 (without InJoy Firewall) connected directly to the router, I have results that are only relevant to my connection.

My optimised inetcfg.ini file has a maximum Receive, and Send window size of 63360 with an MTU of 1480, and an MSS of 1440. The window size is locked to a maximum of 65534 external to my network no matter which provider I use so can only assume this is a HFC 'thing' so I'm moved to a cheaper ISP with the same results. HFC is the only option available in our area.
 

============== inetcfg.ini ==============

#Inetcfg:   CURRENT   DEFAULT   MINIMUM   MAXIMUM

keepalive   30   7800   0   7800   KeepAlive (sec)
tcpswinsize   63360   32768   1024   246723   TCP SendWindow Size
tcprwinsize   63360   32768   1024   246723   TCP RecvWindow Size
udpswinsize   63360   9216   1024   246723   UDP SendWindow Size
udprwinsize   63360   41600   1024   246723   UDP RecvWindow Size
lingertime   60   120   0   65535   Linger Time (sec)
probecnt   8   8   1   8   Number Of KeepAlive Probes
ipforward   1   0   0   1   IP Forwarding flag ON/OFF
mtudiscover   1   1   0   1   TCP Path MTU Discovery ON/OFF
arpkillc   1200   1200   180   15300   ARP Complete TimeOut (sec)
arpkilli   180   180   60   1200   ARP InComplete TimeOut (sec)
lipcstswinsize   63360   10240   1024   246723   LIPC Stream SendWindow Size
lipcstrwinsize   63360   10240   1024   246723   LIPC Stream RecvWindow Size
lipcdgswinsize   16384   2048   1024   246723   LIPC Dgram SendWindow Size
lipcdgrwinsize   16384   4096   1024   246723   LIPC Dgram RecvWindow Size
synattack   1   0   0   1   SYN Attack Flag ON/OFF
syncookie   0   0   0   1   SYN Cookie Flag ON/OFF
firewall   0   0   0   1   FIREWALL ON/OFF
multidefrt   0   1   0   1   Multiple Default Routes ON/OFF
winscale   1   1   0   1   TCP Window Scale ON/OFF
timestmp   0   0   0   1   TCP TimeStamps ON/OFF
realslow   20   20   1   100   TCP TW Q Slow Timeout ticks
perfhttp   1   1   0   1   Fast Path HTTP ON/OFF
tcpttl      64   64   1   255   TCP  TTL (hops)
udpttl      64   64   1   255   UDP  TTL (hops)
icmpttl      64   64   1   255   ICMP TTL (hops)
fragttl      60   60   1   255   Fragment TTL (sec)
reusetw      1   1   0   1   Reuse Time Wait ON/OFF
msl      30   30   1   16384   TCP MaxSegLifeTime (sec)
cc      0   0   0   1   TTCP function ON/OFF
sack      0   0   0   1   Selective ACK ON/OFF

============== inetcfg.ini ==============

I think the above shows you that the settings you require are very much individually dependent on your personal connection, and the tech used. The best results you can expect are dependent on putting the effort into changing inetcfg.ini settings then updating your system by reloading inetcfg.ini with 'inetcfg -s all' OR using a utility under Windows or Linux to simplify getting the data you need.
RecvWindow size needs to be a multiple of your MSS.

My former ADSL/2+ AnnexM was a 9ms 22/3Mbps PPPoA connection with an MTU of 1500 and a window size around half the maximum of 246723.
Note, all ms results are to the first external hop only, I used a ISP provided router, OR a TPLink AC1200, OR a Cisco SG300-20 Managed switch on each test run to remove anything that may have been attributed to my own hardware.

[edited misspelling, and expanded the last sentence]
« Last Edit: January 13, 2020, 06:39:42 am by Ian Manners »
Cheers
Ian B Manners

maxwarp

  • Guest
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #92 on: January 13, 2020, 01:33:11 pm »
hi Ian,

on a 30Megabit/sec download / 10Megabit/sec upload full granted (with 8 internet static IPs)
router is a Mikrotik Hex lite, mtu is 1500
how should i calculate the inetcfg values?

at the moment i can get 1,8MegaBytes/sec of download, but if i connect a W10 pc (directly to the Mikrotik router) i get more fast download datarates e.g. 2,5 or more MegaBytes/sec

at the moment on the eCS machine values are theese ones:

config.sys

DEVICE=C:\MPTN\PROTOCOL\SOCKETSK.SYS /GDT:256 /MEM:4096                         
DEVICE=C:\MPTN\PROTOCOL\AFOS2.SYS                                               
DEVICE=C:\MPTN\PROTOCOL\AFINETK.SYS                                                     
RUN=C:\MPTN\BIN\CNTRL.EXE /SM 1024 /LM 720                                                                                                                     

(i've read on EDM/2 that values e.g. buffers can be raised to higher levels, this could help?)

inetcfg:


keepalive 60
tcpswinsize 246723
tcprwinsize 246723
udpswinsize 246723
udprwinsize 246723
lingertime 60
ipforward 1
mtudiscover 1


drivers: eCS PC -> router is an old Intel pro 100 E 100Megabit full duplex (E100B.OS2)

i also suspect that this driver is very old and it's no good for newer connections


thanks

massimo s.
« Last Edit: January 13, 2020, 01:56:55 pm by massimo s. »

Dariusz Piatkowski

  • Hero Member
  • *****
  • Posts: 1317
  • Karma: +26/-0
    • View Profile
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #93 on: January 14, 2020, 02:47:54 am »
Guys,

As I previously posted, I've been running with the SACK flag set to '1' for ever...as in, I can't remember when I didn't actually have that setting in place.

Alright, so now that I've put on some serious time on the new Gigabit setup I figured I'd go back and tweak a few more settings. Specifically, I moved SACK=0 and am looking to see what impact, if any, that has on things like FF.

Now, for what it's worth, my ISP has a pretty fast speedtest box setup, so if anything while not exactly realistic from an overall Internet speed perspective, it does allow me to benchmark my OS/2 setups vs the other machines which are Win boxes that I run at home.

Code: [Select]
Selected Test Server :  20916

Retrieving speedtest.net configuration...
Testing from Managed Network Systems (216.8.142.146)...
Retrieving speedtest.net server list...
Retrieving information for the selected server...
Hosted by MNSi Telecom (Windsor, ON) [7.46 km]: 25.833 ms
Testing download speed..........................................................
......................
Download: 809.64 Mbit/s
Testing upload speed............................................................
....................................
Upload: 588.07 Mbit/s

I am pretty happy. The changes I mentioned above did NOT impact the results, I've been getting these pretty consistently since I moved away from BELL and went to MNSI.NET (local Windsor, ON provider).

Here is what my current inetcfg.ini looks like:

Code: [Select]
#Inetcfg:       CURRENT DEFAULT MINIMUM MAXIMUM

keepalive       60      7800    0       7800    KeepAlive (sec)
tcpswinsize     127776  32768   1024    246723  TCP SendWindow Size
tcprwinsize     127776  32768   1024    246723  TCP RecvWindow Size
udpswinsize     127776  9216    1024    246723  UDP SendWindow Size
udprwinsize     127776  41600   1024    246723  UDP RecvWindow Size
lingertime      120     120     0       65535   Linger Time (sec)
probecnt        8       8       1       8       Number Of KeepAlive Probes
ipforward       0       0       0       1       IP Forwarding flag ON/OFF
mtudiscover     1       1       0       1       TCP Path MTU Discovery ON/OFF
arpkillc        1200    1200    180     15300   ARP Complete TimeOut (sec)
arpkilli        180     180     60      1200    ARP InComplete TimeOut (sec)
lipcstswinsize  10240   10240   1024    246723  LIPC Stream SendWindow Size
lipcstrwinsize  10240   10240   1024    246723  LIPC Stream RecvWindow Size
lipcdgswinsize  2048    2048    1024    246723  LIPC Dgram SendWindow Size
lipcdgrwinsize  4096    4096    1024    246723  LIPC Dgram RecvWindow Size
synattack       0       0       0       1       SYN Attack Flag ON/OFF
syncookie       0       0       0       1       SYN Cookie Flag ON/OFF
firewall        0       0       0       1       FIREWALL ON/OFF
multidefrt      1       1       0       1       Multiple Default Routes ON/OFF
winscale        1       1       0       1       TCP Window Scale ON/OFF
timestmp        1       0       0       1       TCP TimeStamps ON/OFF
realslow        20      20      1       100     TCP TW Q Slow Timeout ticks
perfhttp        1       1       0       1       Fast Path HTTP ON/OFF
tcpttl          64      64      1       255     TCP  TTL (hops)
udpttl          64      64      1       255     UDP  TTL (hops)
icmpttl         64      64      1       255     ICMP TTL (hops)
fragttl         60      60      1       255     Fragment TTL (sec)
reusetw         1       1       0       1       Reuse Time Wait ON/OFF
msl             30      30      1       16384   TCP MaxSegLifeTime (sec)
cc              0       0       0       1       TTCP function ON/OFF
sack            0       0       0       1       Selective ACK ON/OFF

Ian Manners

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 464
  • Karma: +10/-0
  • I am the computer, it is me.
    • View Profile
    • ComKal Networks Australia
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #94 on: January 14, 2020, 04:48:25 am »
Hi Massimo,

Quote
on a 30Megabit/sec download / 10Megabit/sec upload full granted (with 8 internet static IPs)
router is a Mikrotik Hex lite, mtu is 1500
how should i calculate the inetcfg values?

MSS (maximum segment size) and MTU (maximum transmission unit)
Your MSS will depend on your packet overhead, ie PPPoE is normally 8 bytes (6 bytes PPPoE + 2 bytes PPP).
my MSS = MTU minus 40(IP header(20 bytes) + TCP header(20 bytes))
=> my MSS = 1440 = 1480 - 40

Receive Window size = multiple of MSS
For an MTU = 1500, assuming your MSS = 1460

Your optimum Receive Window size's will be MSS * 44, with each successive value doubled until you reach your limit.

1460 * 44 = 64240
1460 * 44 * 2 = 128480
1460 * 44 * 2^2 (2 squared) = 256960

As OS/2's maximum Receive Windows size is 246723, you would use the value of 128480
BUT check your MSS, this should be shown somewhere in your router.


Dariusz, SACK flag set to 1 should be fine and is probably preferred on a non server machine that is regularly restarted. The problem's come to the fore when the OS/2 box has a long uptime, hence the recommendation to set SACK to 0 if using OS/2 as a server. I do not think much has checked for the OS/2 stack so assume this will still cause a slow memory leak with the latest stack. It would be nice if I was wrong but I still haven't changed my settings to check, very low on my list of priorities!
Cheers
Ian B Manners

Andi B.

  • Hero Member
  • *****
  • Posts: 811
  • Karma: +11/-2
    • View Profile
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #95 on: January 14, 2020, 09:45:37 am »
Quote
...OR using a utility under Windows or Linux to simplify getting the data you need...
Can you recommend a useful utility for that? I'm not very experienced with Linux but I've an Ubuntu installation on one of my systems which I can try.

I've some WinXP/7/10 notebooks too. Usually I avoid connecting them directly to my ADSL router. But if there is a good Win tool which gives me the proper values for my connection I'll use Win for this task. Thanks.

Ian Manners

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 464
  • Karma: +10/-0
  • I am the computer, it is me.
    • View Profile
    • ComKal Networks Australia
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #96 on: January 14, 2020, 06:40:05 pm »
Hi Andy,

I used Wireshark.

I'm having a look at whats available via a link way up above at https://www.speedguide.net/analyzer.php
The links given under "Optimize Your Connection" seem to be quite good.

https://www.speedguide.net/articles/the-tcp-window-latency-and-the-bandwidth-delay-2678 is a good summary.

I will also throw in https://www.ibm.com/support/knowledgecenter/ssw_aix_72/performance/tcp_workload_tuning.html for more information though much of it is not relevant to OS/2.

There is a Windows based optimiser available here: https://www.speedguide.net/downloads.php
I have not tried this one but the rest of the information they give seems good so worth a try. I originally tried Wireshark under Windows 10, gave up and used Windows 7 were I got some good results.
Cheers
Ian B Manners

maxwarp

  • Guest
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #97 on: January 17, 2020, 07:00:34 pm »
Ian, i'm sorry

so if i've a 100Megabit/sec FTTC i should set as RWINsize

1022208 (30-100 Mbit lines depending on latency. MSS * 44 * 2^4)

that of course with eCS/AOS is not possible since we have a max value is 246723
so you are saying that we can't have download faster than a 15Megabit/sec connection (i'm just guessing)

but it's not, since here i've 2 servers and on one i get downloads of about 6,9-7MegaBytes/sec

i'm now very very confused :)



Ian Manners

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 464
  • Karma: +10/-0
  • I am the computer, it is me.
    • View Profile
    • ComKal Networks Australia
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #98 on: January 19, 2020, 06:33:37 pm »
Hi Massimo.

goto https://www.speedguide.net/analyzer.php

What does it say your "RWIN Scaling (RFC1323) = 2 bits (scale factor: 2^2=4)" is?

and what value does it give for "Unscaled TCP Receive Window"?

What you are looking for is a MULTIPLE that fits, the size of RWIN is not overly important for us. Ignore the bandwidth * delay product for now. If you are interested you can find more information on that by searching for  RFC1323 and having a read.
Cheers
Ian B Manners