https://www.extrahop.com/company/blog/2016/tcp-nodelay-nagle-quickack-best-practices/
"Enabling the TCP_NODELAY option turns Nagle's algorithm off. In the case of interactive applications or chatty protocols with a lot of handshakes such as SSL, Citrix and Telnet, Nagle's algorithm can cause a drop in performance, whereas enabling TCP_NODELAY can improve the performance"
"Nagle's algorithm, named after its creator John Nagle, is one mechanism for improving TCP efficiency by reducing the number of small packets sent over the network. The goal was to prevent a node from transmitting many small packets if the application delivers data to the socket rather slowly. If a process is causing many small packets to be transmitted, it may be creating undue network congestion. This is especially true if the payload of a packet is smaller than the TCP header data."
Original Message:
Sent: 11-10-2017 11:01 AM
From: Malik Abdul
Subject: tcp_nodelay=1 and how does that improve the performance
Question:
Why do we require the tcp_nodelay=1 and how does thatimprove the performance?
Solution:
Thereason this change is necessary (and has been defined as the default behaviorin 12.1 and beyond) isn’t directly for performance. What it improves is theinterconnection between WP’s and their communication. The example given toillustrate:
- PWP starts to process a login. This requiressending a few bytes to all active WP’s. Due to the nagle algorithm, there is adelay in this response to a WP. This WP receives from the UI a request foran action by this newly logged user, but due to the delay does not haveinformation on this user, and the user gets disconnected. This behavior couldalso apply to Agents as well.