Slow Backups related to TCP DELAYED ACKNOWLEDGEMENT

(Last modified: 20May2004)

This document (10068360) is provided subject to the disclaimer at the end of this document.

goal

EXPLANATION OF THE TCP DELAYED ACKNOWLEDGEMENT ALGORITHM

fact

Novell NetWare 6

Novell NetWare 5.x

Novell NetWare 4.x

TCPIP.NLM

Customers wants to know if there are any secondary or collateral effects regarding this parameter

symptom

Slow backup, slow file transfer

Slow backup performance across LAN wan

Slow backup on NetWare

fix

The customer was able to increase backup performance dramatically by setting.
NW 5.1/6.0  SET TCP DELAYED ACKNOWLEDGEMENT = OFF
NW 5.0  SET TCP DELAYED ACK = OFF
Set these on the console and then put them in SYS:\SYSTEM\AUTOEXEC.NCF (no reboot needed)

http://seer.support.veritas.com/docs/237769.htm 

note

1. Are there some secondary effects to turning this OFF?

No, there are not. The TCP delay ACK is defined in the corresponding RFC and it was provided to optimize low bandwidth connections. When the TCP layer gets the data; it removes the TCP header and notifies the upper layer that data can be picked up. When the application gets this data it notifies the transport layer (TCP in this case) that data can be acknowledged.

At this point the TCP layer can do two things:

1. ACK the data immediately

2. Wait for 200 ms to see if applications has to sent more data to the

other host, so ACK and new data will be sent together, saving bandwidth.

Delay ACK is enabled by default on most of the tcpip stack implementations and it can be turned on or off at two places:

>>> there are some major side effects when turning it ON · you do not want to enable delayed ACK for real time apps e.g. telnet or rlogin. These apps expect you to send the data as soon as the keystroke has been typed, and not wait for 200ms to see if there·s more data to do.

1. Transport layer (TCP) · when set here, it applies to all applications

2. Application layer (applications you are using). · this is through APIs that application developers can take advantage of. Normal administrators will not have the option to disable this, unless the developers explicitly give users the option.

When you use the first one, this option will be applied to all services running on this server and using TCP as transport layer. Some applications want the data to be immediately acknowledged so they can move their receiving windows (called windowing) faster and whereas another applications have no problems waiting for 200 ms for the ACK. In our case, the application does not care about it and just turning off this feature at TCP layer helps.

This feature can also be turned off at application layer, so when the application loads and register itself with TCP, it communicate that it does want to disable delay ACK, so TCP layer will only turn it off for this application and not for the rest of the services.

 

2. <<I saw these parameters as suggestions for increase performance at BorderManager Proxy, Backups, Restores, ...

We discovered a problem with bm proxy and certain web sites that they do

not like the delay ACK. At the point we found it, there was no way to

turn it off at application layer, so we have to use the "general" TCP

setting. Latest proxy.nlm have turn off this feature at application

layer by default.

document

Document Title: Slow Backups related to TCP DELAYED ACKNOWLEDGEMENT
Document ID: 10068360
Solution ID: NOVL72156
Creation Date: 18Feb2002
Modified Date: 20May2004
Novell Product Class:NetWare

disclaimer

The Origin of this information may be internal or external to Novell. Novell makes all reasonable efforts to verify this information. However, the information provided in this document is for your information only. Novell makes no explicit or implied claims to the validity of this information.
Any trademarks referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information.