[ 
https://issues.apache.org/jira/browse/HADOOP-2232?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12543737
 ] 

Chris Douglas commented on HADOOP-2232:
---------------------------------------

Patch looks good; I've seen disabling Nagle work well for other RPC systems and 
like the idea of permitting it here.

The unit test fails if TcpNoDelay doesn't improve performance by at least 2x. 
I'm uncertain what sorts of regressions we'd prevent by including it, 
particularly since it's using a custom protocol. Did you have something in 
mind, or did you include it as a useful illustration of the concept?

> Add option to disable nagles algorithm in the IPC Server
> --------------------------------------------------------
>
>                 Key: HADOOP-2232
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2232
>             Project: Hadoop
>          Issue Type: Improvement
>          Components: ipc
>    Affects Versions: 0.16.0
>            Reporter: Clint Morgan
>         Attachments: HADOOP-2232-1.patch
>
>
> While investigating hbase performance, I found a bottleneck caused by
> Nagles algorithm. For some reads I would get a bi-modal distribution
> of read times, with about half the times being around 20ms, and half
> around 200ms. I tracked this down to the well-known interaction between
> Nagle's algorithm and TCP delayed acknowledgments. 
> I found that calling setTcpNoDelay(true) on the server's socket
> connection dropped all of my read times back to a constant 20 ms.
> I propose a patch to have this TCP_NODELAY option be configurable. The
> attacked patch allows one to set the TCP_NODELAY option on both the
> client and the server side. Currently this is defaulted to false
> (i.e., with Nagle's enabled).
> To see the effect, I have included a Test which provokes the issue by
> sending a MapWriteable over an IPC call. On my machine this test shows
> a speedup of 117 times when using TCP_NODELAY.
> These tests were done on OSX 10.4. Your milage may very with other
> TCP/IP implementation stacks.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to