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

madbrain

  • Guest
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #60 on: January 11, 2019, 01:37:29 am »
I have a gigabit connection , with 40 mbps upload speed.

With speedtest-cli, on a Windows host, I get this :
Retrieving speedtest.net configuration...
Testing from Comcast Cable (67.169.190.100)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Sonic.net, Inc. (San Jose, CA) [8.57 km]: 14.29 ms
Testing download speed................................................................................
Download: 377.07 Mbit/s
Testing upload speed...
Upload: 40.74 Mbit/s

Whereas I get upwards of 900 Mbps in Firefox 64.0.2 with speedtest.net on the same Win10 machine.
speedtest-cli ini Python has a bottleneck around 400 Mbps. I get the same limit on an ODROID XU4 .

Now, with ArcaOS 5.0.3 running in a VM on the same Win10 host, in Firefox 38, I get :
56 Mbps down / 26 Mbps up .


And with speedtest-cli :

Retrieving speedtest.net configuration...
Testing from Comcast Cable (67.169.190.100)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Sonic.net, Inc. (San Jose, CA) [8.57 km]: 18.167 ms
Testing download speed..........................................................
......................
Download: 124.07 Mbit/s
Testing upload speed............................................................
....................................
Upload: 36.23 Mbit/s


madbrain

  • Guest
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #61 on: January 11, 2019, 01:40:36 am »
I just installed firefox 45.9 and the speed botleneck from ff38 seems to be resolved.
Under ff45.9, the speed test result is very simlar to speetest cli os/2 prompt cmd.

Where did you obtain this "new" FF 45.9 ?

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4787
  • Karma: +99/-1
    • View Profile
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #62 on: January 11, 2019, 01:49:10 am »
My builds are here, https://bitbucket.org/dryeo/dry-comm-esr31/downloads/ seem a bit more stable then the official builds, probably due to newer compiler, also support SSE2 which the official one doesn't due to compiler bug. Note the Sandy bridge one won't run on the regular OS/2 kernel due to lack of AVX support. Need the OS4 kernel.
The official is at github, https://github.com/bitwiseworks/mozilla-os2/releases, there are also RPM packaged versions around if you have access to the repositories.
edit, need to add libvpx and the hunspell spelling checker rpms, FFmpeg libs are optional but needed for h264 playback.
« Last Edit: January 11, 2019, 01:54:59 am by Dave Yeo »

madbrain

  • Guest
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #63 on: January 11, 2019, 01:52:29 am »
My builds are here, https://bitbucket.org/dryeo/dry-comm-esr31/downloads/ seem a bit more stable then the official builds, probably due to newer compiler, also support SSE2 which the official one doesn't due to compiler bug. Note the Sandy bridge one won't run on the regular OS/2 kernel due to lack of AVX support. Need the OS4 kernel.
The official is at github, https://github.com/bitwiseworks/mozilla-os2/releases, there are also RPM packaged versions around if you have access to the repositories.

Thanks. I just got it from the RPM. Unfortunately, it did not improve my download speed at all in Firefox with speedtest.net . This is in a VM, not physical machine.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4787
  • Karma: +99/-1
    • View Profile
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #64 on: January 11, 2019, 02:00:26 am »
Quite possibly a VM needs different tuning then a real machine. As discussed, the default TCP/IP tuning isn't the best on our ancient OS.
You mentioned eCS, make sure you change mtudiscover to the default of 1 in %ETC%\inetcfg.ini.

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 #65 on: January 11, 2019, 03:21:57 am »
Hi Julien,

I have a gigabit connection , with 40 mbps upload speed.

With speedtest-cli, on a Windows host, I get this :
Retrieving speedtest.net configuration...
Testing from Comcast Cable (67.169.190.100)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Sonic.net, Inc. (San Jose, CA) [8.57 km]: 14.29 ms
Testing download speed................................................................................
Download: 377.07 Mbit/s
Testing upload speed...
Upload: 40.74 Mbit/s

Whereas I get upwards of 900 Mbps in Firefox 64.0.2 with speedtest.net on the same Win10 machine.
speedtest-cli ini Python has a bottleneck around 400 Mbps. I get the same limit on an ODROID XU4 .
...

Well, having done a bit more work with my setup here, and in particular comparing it to the other machines, including one pretty darn top-line Win10 box (Ryzen 7 2700x) there indeed are huge difference in performance. But...I attribute a lot of that to the hardware itself.

For example, my current OS/2 box shows:

Code: [Select]
Retrieving speedtest.net configuration...
Testing from Bell Canada (50.100.198.117)...
Retrieving speedtest.net server list...
Retrieving information for the selected server...
Hosted by TekSavvy Solutions Inc (Toronto, ON) [332.79 km]: 29.667 ms
Testing download speed..........................................................
......................
Download: 350.98 Mbit/s
Testing upload speed............................................................
....................................
Upload: 527.68 Mbit/s

Consistently I see my u/l speed being faster than the d/l part of it, and I have seen numerous d/l speeds over 400Mb/s while my u/l almost never drop to below 500, so at least here the Python environment allows me to plug ahead.

Now my Win10 box blow this away with a d/l of 850-900 and u/l of 930-950. I have not hit that 960 max that you really might consider to be a ceiling due to overheads, etc. etc.

madbrain

  • Guest
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #66 on: January 11, 2019, 10:51:56 pm »
Quite possibly a VM needs different tuning then a real machine. As discussed, the default TCP/IP tuning isn't the best on our ancient OS.
You mentioned eCS, make sure you change mtudiscover to the default of 1 in %ETC%\inetcfg.ini.

I have both ECS 2.0 and ArcaOS 5.0.3, but they are each running in a VM.

madbrain

  • Guest
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #67 on: January 11, 2019, 10:54:38 pm »
Code: [Select]
[quote author=Dariusz Piatkowski link=topic=1486.msg20189#msg20189 date=1547173317]
Retrieving speedtest.net configuration...
Testing from Bell Canada (50.100.198.117)...
Retrieving speedtest.net server list...
Retrieving information for the selected server...
Hosted by TekSavvy Solutions Inc (Toronto, ON) [332.79 km]: 29.667 ms
Testing download speed..........................................................
......................
Download: 350.98 Mbit/s
Testing upload speed............................................................
....................................
Upload: 527.68 Mbit/s

Consistently I see my u/l speed being faster than the d/l part of it, and I have seen numerous d/l speeds over 400Mb/s while my u/l almost never drop to below 500, so at least here the Python environment allows me to plug ahead.
[/quote]

Thanks, that's interesting. Comcast here in the US considers fast upload speed to be business class, and charges an arm and a leg for them. I have heard >$400/month for fiber. I don't think it's available at my house, not that it matters. Anyway, I'm stuck with 40 Mbps upload speed. And a 1TB/month data cap. Sigh !

Quote
Now my Win10 box blow this away with a d/l of 850-900 and u/l of 930-950. I have not hit that 960 max that you really might consider to be a ceiling due to overheads, etc. etc.

My Win10 box is a 5820k overclocked at 4.3 Ghz . I would have expected it to get closer in speedtest-cli. It does get to 900+ in Firefox, but not in speedtest-cli . Interesting that you are able to beat that on the Ryzen.

Lars

  • Hero Member
  • *****
  • Posts: 1271
  • Karma: +65/-0
    • View Profile
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #68 on: January 12, 2019, 02:33:41 pm »
Hi Remy,

Quote
When putting the MMRE driver before the FXWRAP (injoy firewall) driver, the speed increases a lot.
For those using IJFW, I suggest them having the FXWRAP device after the network device

The FXWRAP driver is ment to come after the NIC driver to the outside/external/unprotected enviroment but before the NIC driver to the inside/internal/protected network, otherwise the firewall cannot do its job 100%.

example:

DEVICE=C:\IBMCOM\MACS\MMALC.OS2
DEVICE=C:\IBMCOM\PROTOCOL\FXWRAP.SYS /S
DEVICE=C:\IBMCOM\MACS\E1000.OS2

MMALC.OS2 is for the NIC connected to my external modem/router
FXWRAP.SYS is the InJoy firewall driver that will intercept the datastream from MMALC.OS2 and establish itself before the driver the the internal network is loaded.
E1000.OS2 is for the NIC connected to my internal network.


That should not matter. The PROTOCOL.INI defines what protocol driver links to what MAC driver. And is is the job of NETBIND.EXE to make the protocol driver known to the MAC driver and vice versa so that these can exchange data. In order to do that it uses PROTOCOL.INI. And NETBIND.EXE runs long after the protocol and MAC drivers are loaded via config.sys.

madbrain

  • Guest
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #69 on: January 12, 2019, 10:07:04 pm »
Hi Remy,

Quote
When putting the MMRE driver before the FXWRAP (injoy firewall) driver, the speed increases a lot.
For those using IJFW, I suggest them having the FXWRAP device after the network device

The FXWRAP driver is ment to come after the NIC driver to the outside/external/unprotected enviroment but before the NIC driver to the inside/internal/protected network, otherwise the firewall cannot do its job 100%.

example:

DEVICE=C:\IBMCOM\MACS\MMALC.OS2
DEVICE=C:\IBMCOM\PROTOCOL\FXWRAP.SYS /S
DEVICE=C:\IBMCOM\MACS\E1000.OS2

MMALC.OS2 is for the NIC connected to my external modem/router
FXWRAP.SYS is the InJoy firewall driver that will intercept the datastream from MMALC.OS2 and establish itself before the driver the the internal network is loaded.
E1000.OS2 is for the NIC connected to my internal network.


That should not matter. The PROTOCOL.INI defines what protocol driver links to what MAC driver. And is is the job of NETBIND.EXE to make the protocol driver known to the MAC driver and vice versa so that these can exchange data. In order to do that it uses PROTOCOL.INI. And NETBIND.EXE runs long after the protocol and MAC drivers are loaded via config.sys.

FYI, I don't have FXWRAP in my config.sys .
I would appreciate any info on tuning ArcaOS for a VM.
I tried both E1000 and AMD PCnet interfaces in Virtualbox, but didn't see any difference with speedtest-cli .

I still think a native code benchmark would be preferable to one written in Python.

For testing LAN performance, there is iperf3 on other platforms, but I have not found an OS/2 port.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4787
  • Karma: +99/-1
    • View Profile
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #70 on: January 13, 2019, 02:27:54 am »
I still think a native code benchmark would be preferable to one written in Python.

For testing LAN performance, there is iperf3 on other platforms, but I have not found an OS/2 port.

There is https://88watts.net/download/netio-1.33.zip for testing LAN performance. http://hobbes.nmsu.edu/download/pub/os2/util/network/netio132.zip has binaries for most other systems.

madbrain

  • Guest
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #71 on: January 13, 2019, 03:08:09 am »
I still think a native code benchmark would be preferable to one written in Python.

For testing LAN performance, there is iperf3 on other platforms, but I have not found an OS/2 port.

There is https://88watts.net/download/netio-1.33.zip for testing LAN performance. http://hobbes.nmsu.edu/download/pub/os2/util/network/netio132.zip has binaries for most other systems.

Thanks, I'll take a look. I now have a 10 Gigabit ethernet LAN. With iperf3, I can get 9.9 Gbps with 2 streams using jumbo frames between my Ubuntu NAS and my Win10 desktop on a Netgear GS110MX switch. With real file transfers, I get about 3 to 5 Gbps to and from a 50TB RAIDZ2 array. I will check first if netio is up to the 10 Gbps challenge between Linux and Win10 first, before I try it on ArcaOS.

I used a quick file system benchmark for OS/2 that I wrote 25 years ago. Ran it in my ArcaOS VM . I mounted shares from my Win10 host (local) and Ubuntu AS (remote). With ArcaMapper.

On large files (multi GB), I got 34MB/s average from the NAS to VM. And 54MB/s from a share on the Win10 host to ArcaOS guest. Those are only about 272 and 432 Mbps respectively. I should be able to at least get Gigabit speed on the LAN and local share, and hopefully more, but it seems the networking in Virtualbox is just too slow. I might get faster results with iperf and/or netio as it would take the SMB out of the picture.

madbrain

  • Guest
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #72 on: January 13, 2019, 04:42:07 am »
On large files (multi GB), I got 34MB/s average from the NAS to VM. And 54MB/s from a share on the Win10 host to ArcaOS guest. Those are only about 272 and 432 Mbps respectively. I should be able to at least get Gigabit speed on the LAN and local share, and hopefully more, but it seems the networking in Virtualbox is just too slow. I might get faster results with iperf and/or netio as it would take the SMB out of the picture.

So, I broke the Gigabit limit on my LAN in my OS/2 VM.

Here is how I did it :
1) upgraded to Virtualbox 6.0
2) noticed there were new additions with a VBOXFS.IFS for shared folders
3) shared my X: drive from my Win10 host to ArcaOS guest as X: also .
X: is a share mounted from my Ubuntu NAS to the Win10 host.
4) ran my file benchmark again, on a 4.5GB ISO movie file
I averaged 243,677 KB/s , which is 1949 Mbps , or about 2 Gbps. This is consistent with what I was seeing in the Win10 host task manager - network bandwidth at 2 Gbps .
Subsequent runs are even faster, because the Win10 host is caching the remote file : 608,601 KB/s . This is about 5 Gbps . In this case there as 0 network bandwidth usage, though, due to caching.

That means I have to try with files that don't fit in the host's RAM (32GB), or just try with different (uncached) files each time.

I didn't try yet sharing a local drive to the VM yet. I have a striped array of SSDs which does 2600MBps sequential (about 21Gbps) in Crystaldiskmark 6 for sequential test. My guess is that I will hit a bottleneck much lower than that in the VM.

Just tried it, since adding shared folders don't require a VM restart.
I was able to read a 35GB file, uncached, at 656,854 KB/s from the local SSD array. I tried again with a 2GB file, twice to make sure it was cached, and got similar speed. So, 5 Gbps appears to be the upper limit for the shared folders in Virtualbox.



Remy

  • Hero Member
  • *****
  • Posts: 645
  • Karma: +9/-1
    • View Profile
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #73 on: September 07, 2019, 03:44:41 pm »
Just to add some found information:

- A good site to test bandwide  https://www.nperf.com  the best and fastest available result
- To well tune RWIN => https://www.speedguide.net    (the given values works and if a multiple value is used as suggested, I have less slowdown.
   In my case, I set the RWIN to 128480  because the max allowed into inetcfg.ini is not a multiple of MSS (MSS=1460 and MTU=1500 in my case)
   
I have a speed near the maximum allowed for a 100Mb connexion
The remaining problem I have is that the interface did not recognize/enable Gigabit link like windows do and refuses to go above 100Mb.
I tried to force it to be Gigabit but failled until now. 

regards 

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 #74 on: September 07, 2019, 11:59:33 pm »
Hi Remy, everyone...

...In my case, I set the RWIN to 128480  because the max allowed into inetcfg.ini is not a multiple of MSS (MSS=1460 and MTU=1500 in my case)...

I've played around with these a few times, so far this is my current best-combo:

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

keepalive 60 7800 0 7800 KeepAlive (sec)
tcpswinsize 246723 32768 1024 246723 TCP SendWindow Size
tcprwinsize 246723 32768 1024 246723 TCP RecvWindow Size
udpswinsize 246723 9216 1024 246723 UDP SendWindow Size
udprwinsize 246723 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 246723 10240 1024 246723 LIPC Stream SendWindow Size
lipcstrwinsize 246723 10240 1024 246723 LIPC Stream RecvWindow Size
lipcdgswinsize 246723 2048 1024 246723 LIPC Dgram SendWindow Size
lipcdgrwinsize 246723 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 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 1 0 0 1 Selective ACK ON/OFF

...and here are the SpeedGuide results:

Code: [Select]
« SpeedGuide.net TCP Analyzer Results »
Tested on: 2019.09.07 17:52
IP address: 50.100.xxx.xxx
 
TCP options string: 020405ac0101040201030302
MSS: 1452
MTU: 1492
TCP Window: 246720 (not multiple of MSS)
RWIN Scaling: 2 bits (2^2=4)
Unscaled RWIN : 61680
Recommended RWINs: 63888, 127776, 255552, 511104, 1022208
BDP limit (200ms): 9869kbps (1234KBytes/s)
BDP limit (500ms): 3948kbps (493KBytes/s)
MTU Discovery: ON
TTL: 48
Timestamps: OFF
SACKs: ON
IP ToS: 00100000 (32)
    Precedence: 001 (priority)
    Delay: 0 (normal delay)
    Throughput: 0 (normal throughput)
    Reliability: 0 (normal reliability)
    Cost: 0 (normal cost)
    Check bit: 0 (correct)
DSCP (DiffServ): CS1 001000 (8) - class 1 (RFC 2474). Similar forwarding behavior to the ToS Precedence field.

Things are basically maxed-out, the OS2 tcpip stack has been working fine (no traps) and that allows my machine to fly when I do have a connection to a really big pipe. Rarely ever do I actually utilize more than 25% of my 1Gig fibre link though.