Why do we require the tcp_nodelay=1 and how does that improve the performance?
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.