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

Prasanna Kumar Kalever pkalever at redhat.com
Thu Nov 19 04:03:33 UTC 2015


On Thursday, November 19, 2015 1:46:30 AM, Jeff Darcy Wrote:
> 
> 
> 
> 
> On November 18, 2015 at 2:44:39 PM, Prasanna Kumar Kalever
> (pkalever at redhat.com) wrote:
> > As expected, I can see there are good numbers in the performance by using
> > UDS (Unix Domain Socket), please checkout the results (extracted using
> > Iozone benchmark tool attached above)
> 
> Those look like some pretty solid wins.  Can you provide more details about
> configuration
> (e.g. with/without replication) and benchmark parameters (e.g. number of
> clients/threads)?

Thanks for showing interest in this work Jeff,

Configuration Info:

Gluster side:

Versions:
the baseline version is master, with regular tcp loopback.
target version is with UDS changes patch on top of master.

Volume create command:
gluster vol create sample $IP:/b9 force

Only one brick (hence without relication)

Say If we have replicate volume, there will be additional wait times for tcp
write returns, this is on opt, when benchmarking is done to measure uds performance;

Iozone Side:

     Iozone: Performance Test of File I/O                                                                                                                                                                           
             Version $Revision: 3.434 $                                                                                                                                                                             
       Compiled for 64 bit mode.                                                                                                                                                                                  
       Build: linux-ia64                                                                                                                                                                                          
                                                                                                                                                                                                                   
                                                                                                                                                                                                                 
    Auto Mode                                                                                                                                                                                                      
    Using minimum file size of 4 kilobytes.                                                                                                                                                                        
    Using maximum file size of 1048576 kilobytes.                                                                                                                                                                  
    Command line used: /home/blr/pkalever/work/iozone3_434/src/current/iozone -U /mnt -a -f /mnt/iozone -n 4k -g 1024m                                                                                             
    Output is in kBytes/sec                                                                                                                                                                                        
    Time Resolution = 0.000001 seconds.                                                                                                                                                                            
    Processor cache size set to 1024 kBytes.                                                                                                                                                                       
    Processor cache line size set to 32 bytes.                                                                                                                                                                     
    File stride size set to 17 * record size. 

    command line explained:
                  -U  Mount point to remount between tests
                  -a  Auto mode
                  -f filename  to use (where to read/write)
                  -n #  Set minimum file size (in kBytes) for auto mode (or #m or #g)
                  -g #  Set maximum file size (in kBytes) for auto mode (or #m or #g)

> I think the next step is to determine when clients should use this path and
> how they find
> that out, so that we can make it happen “automagically” if/when the
> appropriate option is
> turned on.  For now it’s probably OK if it’s incompatible with TLS, though
> we’ll have to
> address that eventually.  Nice work!

Note: While, for now I have not used any logic to figure out whether the brick is
local or not, because I have done the benchmarking on my local machine that ensures
me client and server sits on the same node. (Though I have some written logic to do;)


Thanks,

- Prasanna



> 
> 
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at gluster.org
> http://www.gluster.org/mailman/listinfo/gluster-devel


More information about the Gluster-devel mailing list