I was testing 0.98.4-SNAPSHOT with YCSB on a small testbed for HBASE-11297
and took a small detour to try out collection and processing of Brendan
Gregg's Java flame graphs (
seemed to turn out well. I want to look at them more closely next week.
For your viewing enjoyment.
Traces were collected from the usual experiment, a 5 slave cluster with 5
concurrent YCSB clients generating a target aggregate load of 100,000
ops/second. Each RegionServer has 8 GB of heap and bucket cache enabled
backed by 24 GB of off heap memory. The test table schema is all defaults
except I turned on FAST_DIFF block encoding because I was also curious
about its CPU usage profile (along with that of the bucket cache). One
RegionServer was instrumented with Jeremy Manson's lightweight accurate
Java profiler, with the kMaxStackTraces and kMaxFramesToCapture options in
src/globals.h changed to 100000 and 128, respectively, out of pessimism and
expectations for the running time of the experiment.
Workload A: https://db.tt/oTqTmGIE
Workload B: https://db.tt/jy3E5fh3
Workload C: https://db.tt/yFxgKROq
Workload D: https://db.tt/36Ux659r
Workload E: https://db.tt/Or2UuTKi
Workload F: https://db.tt/4Wud5il4
For more information on flame graphs and how to read them, see
Problems worthy of attack prove their worth by hitting back. - Piet Hein
(via Tom White)