Bug #78781 ROUTER DOES NOT DISABLE THE NAGLE ALGORITHM IN THE CONNECTION WITH THE SERVER
Submitted: 9 Oct 2015 11:52 Modified: 20 Oct 2015 2:54
Reporter: Vitor Oliveira Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Router Severity:S3 (Non-critical)
Version:2.0.1 OS:Any
Assigned to: CPU Architecture:Any

[9 Oct 2015 11:52] Vitor Oliveira
Description:
In order to keep latency down the connections between the Router and the client and the server must be performed over TCP sockets that have the NAGLE algorithm disabled, otherwise the output will waitwill be grouped by most OSs.
Unlike initial versions, currently the connections between the Router and the client is configured correctly (with the TCP_NODELAY option) but the connections between the Router and the mysqld server are not.

How to repeat:
1. Execute the router on a server and have it connect to a remote mysqld.
2. Run sysbench benchmark on it.

Suggested fix:
Copy the TCP_NODELAY option from the client connections to the server connections.
[20 Oct 2015 2:54] Philip Olson
Posted by developer:
 
Fixed as of the upcoming MySQL Router 2.0.2 release, and here's the changelog entry:

The Nagle algorithm for MySQL client connections is now disabled the same
way it is disabled for the server connections, by setting TCP_NODELAY to 0.

Thank you for the bug report.