[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