[Gluster-devel] Replacing loopback with Unix Domain Sockets for I/O

Kaleb KEITHLEY kkeithle at redhat.com
Fri Nov 6 12:24:10 UTC 2015


On 11/06/2015 02:08 AM, Prasanna Kumar Kalever wrote:
> Hi all,
> 
> Currently we use TCP loopback connection for communicating between gluster Client and Server.
> Hyper-convergence may also require communication with a server running in the same hyper-visor. 
> 
> I was initially wondering if replacing IPC  with Unix Domain sockets will improve the performance?
>                                              Or
> Is there any theory that proves that Unix Domain socket would give better performance then TCP loopback connection?
> 
> Finally I have to Say:
> 
> Yes, local IPC by unix domain sockets will be faster than communication by loopback connections because you have less TCP overhead
> 
> Postgres core developer Bruce Momjian has blogged @ http://momjian.us/main/blogs/pgblog/2012.html#June_6_2012 about this topic. Momjian states, "Unix-domain socket communication is measurably faster." He measured query network performance showing that the local domain socket was 33% faster than using the TCP/IP stack.
> 
> Found a paper @ http://osnet.cs.binghamton.edu/publications/TR-20070820.pdf
> 
> Also See,
> http://lists.freebsd.org/pipermail/freebsd-performance/2005-February/001143.html
> http://bhavin.directi.com/unix-domain-sockets-vs-tcp-sockets/
> 
> 
> The whole Idea is to bring IPC through Unix Domain Sockets in gluster instead of localhost loopback!
> 
> Any suggestions will be appreciated! 

There a lots of theories. ;-)

It's been quite a few years...  Years ago a lot of work was put into the
TCP stack to improve performance. A lot of general work and a lot on
loopback too.

Over the years I've heard it said many times that TCP loopback is just
as fast as a unix domain socket.

But I think you have to try both and see.

--

Kaleb



More information about the Gluster-devel mailing list