Automic Workload Automation

 View Only
  • 1.  tcp_nodelay=1 and how does that improve the performance

    Posted Nov 10, 2017 11:01 AM

    Question:

    Why do we require the tcp_nodelay=1 and how does that improve the performance?

    Solution:

    The reason this change is necessary (and has been defined as the default behavior in 12.1 and beyond) isn’t directly for performance. What it improves is the interconnection between WP’s and their communication. The example given to illustrate:

    • PWP starts to process a login. This requires sending a few bytes to all active WP’s. Due to the nagle algorithm, there is a delay in this response to a WP.  This WP receives from the UI a request for an action by this newly logged user, but due to the delay does not have information on this user, and the user gets disconnected. This behavior could also apply to Agents as well.


  • 2.  RE: tcp_nodelay=1 and how does that improve the performance

    Posted Apr 04, 2020 10:27 AM
    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."