Nicolas Liochon created HBASE-11492:
---------------------------------------
Summary: The servers do not honnor the tcpNoDelay option
Key: HBASE-11492
URL: https://issues.apache.org/jira/browse/HBASE-11492
Project: HBase
Issue Type: Bug
Components: regionserver
Affects Versions: 0.96.0, 0.98.0, 0.99.0
Reporter: Nicolas Liochon
Priority: Critical
Fix For: 0.99.0, 0.98.5
There is an option to set tcpNoDelay, defaulted to true, but the socket channel
is actually not changed. As a consequence, the server works with nagle enabled.
This leads to very degraded behavior when a single connection is shared between
threads. We enter into conflicts with nagle and tcp delayed ack.
Here is an example of performance with the PE tool plus HBASE-11491:
{noformat}
oneCon #client sleep exeTime (seconds)
avg latency, sleep excluded (microseconds)
true 1 0 31
310
false 1 0 31
310
true 2 0 50
500
false 2 0 31
310
true 2 5 488 (including 200s sleeping)
2880
false 2 5 246 (including 200s sleeping)
460
{noformat}
The latency is divided by 5 when the connection is shared. This is the delayed
ack kicking in. This can be fixed by really using tcp no delay.
--
This message was sent by Atlassian JIRA
(v6.2#6252)