Possible improvement in I/O performance when enabling TCP_NODELAY TCP/IP socket option
|Date:||6th March 2008|
|Abstract:||Enable TCP_NODELAY TCP/IP option in Listener/Host Route can improve application performance|
|Submitted By:||LANSA Technical Support|
The "Enable TCP_NODELAY TCP/IP socket option" on the LANSA Listener and Host Route is usually not given much attention when setting up LANSA communications, however it can have a large effect on the performance of LANSA I/O in some network configurations.
By enabling this option, communications containing small amounts of data are sent as-is as soon as they are ready. Normally, these bits of data are buffered until a full packet worth of data is ready to be sent. But on some networks this buffering can add to some significant delays, hence switching this option on may improve performance.
The documentation contains the following about the Enable TCP_NODELAY TCP/IP socket Option:
Select this option to disable the Nagle algorithm to allow small data packets to be delivered to the remote host without delay.
The Nagle algorithm combines multiple send calls in a small data buffer and delays sending it until an acknowledgement for the previous data packet sent is received from the remote host. It is enabled as the default in TCP/IP socket.
As the LANSA Communication Extensions implements its own data buffering, the Nagle algorithm is not needed.