Kitz ADSL Broadband Information
adsl spacer  
Support this site
Home Broadband ISPs Tech Routers Wiki Forum
 
     
   Compare ISP   Rate your ISP
 
Please login or register.

Login with username, password and session length
Advanced search  

News:

Author Topic: the horrible nagle algorithm needs to die  (Read 1367 times)

Chrysalis

  • Content Team
  • Kitizen
  • *
  • Posts: 4256
the horrible nagle algorithm needs to die
« on: September 23, 2016, 12:54:37 AM »

Nagle algorithm which I think was something invented to aid asynchronous connections has long been something I havent liked.  Basically it prevents acknowledgement of every downloaded packet but instead is every other packet, this is to save upload bandwidth which is great for cable isp's and anyone who struggles with upload bandwidth.  The flipside is it hurts performance on things shifting small amount of data.

Since windows 8, microsoft no longer allow the setting to be toggled unless one has paid handsomly for either a server OS or the enterprise version. (I am not even sure the enterprise version can toggle it, as planning to test on my spare laptop).

Also a hotfix on windows 7 stopped the registry key that controls it from working as well.

It can be toggled freely on FreeBSD and MAC OS.

On linux it cannot be toggled however linux automatically disables it for small packets and enables it for large packets which is a very clever solution.

Interestingly tho there is a side affect of using hit man pro alert a security product.

This product loads a network driver which intercepts all traffic on the system, now this driver has caused me some issues, so I am not entirely a fan of it but it does inject NO_DELAY on all traffic meaning it disables nagle on windows.  The affect on things like ftp and ssh command line is very nice, but it can also be felt on web browsing.  Really baffling that this tech remains the default and microsoft wont allow it to be disabled. :(
Logged
Sky Fiber Pro - Billion 8800NL bridge & PFSense BOX running PFSense 2.4 - ECI Cab

Weaver

  • Kitizen
  • ****
  • Posts: 3858
  • Retd sw dev; A&A; 3 × 7km ADSL2; IPv6; Firebrick
Re: the horrible nagle algorithm needs to die
« Reply #1 on: September 23, 2016, 02:09:06 PM »

Quite agree. The use cases for the Nagle Algorithm are specialised and it really does need to be possible to disable it. I didn't know about Microsoft’s behaviour in this respect.
Logged

Chrysalis

  • Content Team
  • Kitizen
  • *
  • Posts: 4256
Re: the horrible nagle algorithm needs to die
« Reply #2 on: October 09, 2016, 01:18:13 PM »

I have confirmed one needs to use a windows server OS urrrgh.

On enterprise the same read only error pops up, I dug around some more and on serverfault someone posted a solution which involves creating a new net-transport, indeed get-nettransport shows only the default Internet transport to exist.  However when trying to create InternetCustom I got the server only response.  Running a server OS on a desktop to get the tweaks isnt really viable as various consumer software will refuse to run on server machines as a way to prevent business using cheaper consumer licenses.

So anyone wanting disabled nagle the way to get it to work is to use some kind of tunneling/proxy software and have that use the NO_DELAY flag as that flag is honoured.  I have decided because of all this to keep using hitman pro's network module so I get better network responsiveness.
Logged
Sky Fiber Pro - Billion 8800NL bridge & PFSense BOX running PFSense 2.4 - ECI Cab