I also don't work on ZooKeeper, but I'm curious as to where you think this isn't being used, where it could be.
When a client is connecting to ZK to perform an action, it's expecting a response immediately--not until a certain threshold of requests has been reached. I.e., if your app says "lock this thing", it will expect an immediate call to the service. If the service is requesting the data field on a node, then it's not sending it one char at a time--it's combining it into reasonably sized chunks because it knows the amount of data that is being sent. If it gets to the last chunk and it's only 1 char long, then there's no optimization there... On Wed, Dec 3, 2014 at 6:58 AM, Patrick Peralta <[email protected]> wrote: > Hello, > > I don't work on ZooKeeper development, but I presume that Nagle's algorithm > is disabled because it imposes a latency penalty when sending many small > messages. > > http://www.boundary.com/blog/2012/05/know-a-delay-nagles-algorithm-and-you/ > > Thanks, > Patrick > > On Mon, Dec 1, 2014 at 5:37 PM, Ibrahim <[email protected]> > wrote: > > > > > Hi folks, > > > > I just want to ask, why Zookeeper doesn't use Nagle's algorithm. I think > it > > may improve the throughput when we activate Nagle's algorithm as it > bundles > > the small messages? > > > > Thanks > > > > Ibrahim > > > > > > > > -- > > View this message in context: > > > http://zookeeper-user.578899.n2.nabble.com/Zookeeper-don-t-use-Nagle-algorithm-tp7580682.html > > Sent from the zookeeper-user mailing list archive at Nabble.com. > > >
