[Gluster-devel] Multiplexing status, October 26

Jeff Darcy jdarcy at redhat.com
Wed Oct 26 14:58:25 UTC 2016


Here are some of the numbers.  Note that these are *without* multiplexing, which is where these changes are really most beneficial, because I wanted to measure the effect of this patch on its own.  Also, perf-test.sh is a truly awful test.  For one thing it's entirely single-threaded, which limits is usefulness in general and reduces that usefulness to near (or below) zero for any change focused on higher levels of parallelism.  Also, it's very unbalanced, testing certain operations for over twenty minutes and others for mere fractions of a second.  Lastly, it takes way too long to run - over two hours on my machines.  Tying up a test machine for a whole day running tests before and after a change three times each (as I was asked to do) is not a good use of resources.  What I actually ran is a reduced and rebalanced version, which takes about fifteen minutes.  I also ran my own test that I developed for multiplexing - twenty volumes/mounts, eighty bricks, a hundred client I/O threads creating/writing/deleting files.  It drives load literally a hundred times higher, and really tests scalability.

Full results are below.  To summarize, the patch seems to improve performance on perf-test on 9/17 tests.  Overall it's either 0.6% slower or 2.3% faster depending on how you combine the per-test results.  On my own loadtest it's 1.9% slower.  In other words, for the *non-multiplexing* case (which will soon be obsolete), we're either below the measurement-error threshold or truly slower by a tiny amount.  With multiplexing and other multiplexing-related changes (e.g. http://review.gluster.org/#/c/15645/) we'll be way ahead on any realistic test.

*** PERF-TEST WITHOUT PATCH

Testname                Time
emptyfiles_create       49.57
emptyfiles_delete       22.05
smallfiles_create       98.70
smallfiles_rewrite      94.14
smallfiles_read         28.01
smallfiles_reread       10.76
smallfiles_delete       23.25
largefile_create        26.58
largefile_rewrite       59.18
largefile_read          20.43
largefile_reread        1.35
largefile_delete        0.59
directory_crawl_create  126.85
directory_crawl         8.78
directory_recrawl       6.81
metadata_modify         132.44
directory_crawl_delete  53.75

real    13m57.254s
user    0m16.929s
sys     0m44.114s

*** LOADTEST WITHOUT PATCH

real    5m15.483s
user    0m0.724s
sys     0m16.686s

*** PERF-TEST WITH PATCH

Testname                Time
emptyfiles_create       48.73   -  1.7% 
emptyfiles_delete       23.41   +  6.2% 
smallfiles_create       92.06   -  6.7% 
smallfiles_rewrite      86.33   -  8.3% 
smallfiles_read         28.48   +  1.7% 
smallfiles_reread       11.56   +  7.4% 
smallfiles_delete       22.99   -  1.1% 
largefile_create        22.76   -  2.1% 
largefile_rewrite       60.94   +  3.0% 
largefile_read          18.67   -  8.6% 
largefile_reread        1.52    + 12.6%
largefile_delete        0.55    -  6.8% 
directory_crawl_create  125.47  -  1.1% 
directory_crawl         10.19   + 16.1%
directory_recrawl       6.58    -  3.4% 
metadata_modify         125.29  -  5.4% 
directory_crawl_delete  55.63   +  3.5% 
                                +  0.6% 

real    13m38.115s -2.3%
user    0m16.197s
sys     0m43.057s

*** LOADTEST WITH PATCH

real    5m21.479s + 1.9%
user    0m0.685s
sys     0m17.260s


More information about the Gluster-devel mailing list