[
https://issues.apache.org/jira/browse/HBASE-25998?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17363977#comment-17363977
]
Andrew Kyle Purtell commented on HBASE-25998:
---------------------------------------------
My results, on a MacBook Pro 2019 2.3 GHz 8-Core Intel Core i9
Java:
{noformat}
openjdk version "11.0.8" 2020-07-14 LTS
OpenJDK Runtime Environment Zulu11.41+23-CA (build 11.0.8+10-LTS)
OpenJDK 64-Bit Server VM Zulu11.41+23-CA (build 11.0.8+10-LTS, mixed mode)
{noformat}
Current master at 555f8b46 (./bin/hbase
org.apache.hadoop.hbase.wal.WALPerformanceEvaluation -threads 256 -iterations
100000, first stats dump)
{noformat}
-- Histograms ------------------------------------------------------------------
org.apache.hadoop.hbase.wal.WALPerformanceEvaluation.latencyHistogram.nanos
count = 2879583
min = 1875557
max = 246347480
mean = 2938092.83
stddev = 10908886.22
median = 2190795.00
75% <= 2373648.00
95% <= 2833351.00
98% <= 4978663.00
99% <= 6457163.00
99.9% <= 213634065.00
org.apache.hadoop.hbase.wal.WALPerformanceEvaluation.syncCountHistogram.countPerSync
count = 28275
min = 52
max = 103
mean = 101.79
stddev = 3.18
median = 102.00
75% <= 102.00
95% <= 102.00
98% <= 102.00
99% <= 103.00
99.9% <= 103.00
org.apache.hadoop.hbase.wal.WALPerformanceEvaluation.syncHistogram.nanos-between-syncs
count = 28276
min = 118014
max = 242926458
mean = 1179929.00
stddev = 7471679.91
median = 867201.00
75% <= 934459.00
95% <= 1181470.00
98% <= 1909398.00
99% <= 3711500.00
99.9% <= 6662930.00
-- Meters ----------------------------------------------------------------------
org.apache.hadoop.hbase.wal.WALPerformanceEvaluation.appendMeter.bytes
count = 1604304263
mean rate = 51688418.00 events/second
1-minute rate = 43829916.60 events/second
5-minute rate = 39579618.94 events/second
15-minute rate = 38725509.54 events/second
org.apache.hadoop.hbase.wal.WALPerformanceEvaluation.syncMeter.syncs
count = 28278
mean rate = 911.04 events/second
1-minute rate = 772.23 events/second
5-minute rate = 697.15 events/second
15-minute rate = 682.06 events/second
{noformat}
With patch (./bin/hbase org.apache.hadoop.hbase.wal.WALPerformanceEvaluation
-threads 256 -iterations 100000, first stats dump)
{noformat}
-- Histograms ------------------------------------------------------------------
org.apache.hadoop.hbase.wal.WALPerformanceEvaluation.latencyHistogram.nanos
count = 5113265
min = 879033
max = 202881049
mean = 1421741.40
stddev = 6905506.90
median = 1063825.00
75% <= 1215826.00
95% <= 1843140.00
98% <= 3479868.00
99% <= 4076417.00
99.9% <= 202881049.00
org.apache.hadoop.hbase.wal.WALPerformanceEvaluation.syncCountHistogram.countPerSync
count = 50232
min = 52
max = 106
mean = 101.84
stddev = 2.92
median = 102.00
75% <= 102.00
95% <= 102.00
98% <= 103.00
99% <= 103.00
99.9% <= 103.00
org.apache.hadoop.hbase.wal.WALPerformanceEvaluation.syncHistogram.nanos-between-syncs
count = 50233
min = 98682
max = 73959735
mean = 542249.37
stddev = 2083003.22
median = 418651.00
75% <= 487203.00
95% <= 742249.00
98% <= 1040476.00
99% <= 1693894.00
99.9% <= 3739216.00
-- Meters ----------------------------------------------------------------------
org.apache.hadoop.hbase.wal.WALPerformanceEvaluation.appendMeter.bytes
count = 2848677354
mean rate = 91435148.51 events/second
1-minute rate = 79981952.53 events/second
5-minute rate = 74153640.38 events/second
15-minute rate = 72986075.52 events/second
org.apache.hadoop.hbase.wal.WALPerformanceEvaluation.syncMeter.syncs
count = 50237
mean rate = 1612.44 events/second
1-minute rate = 1410.28 events/second
5-minute rate = 1307.50 events/second
15-minute rate = 1286.92 events/second
{noformat}
> Revisit synchronization in SyncFuture
> -------------------------------------
>
> Key: HBASE-25998
> URL: https://issues.apache.org/jira/browse/HBASE-25998
> Project: HBase
> Issue Type: Improvement
> Components: Performance, regionserver, wal
> Affects Versions: 3.0.0-alpha-1, 1.7.0, 2.5.0
> Reporter: Bharath Vissapragada
> Assignee: Bharath Vissapragada
> Priority: Major
> Attachments: monitor-overhead-1.png, monitor-overhead-2.png
>
>
> While working on HBASE-25984, I noticed some weird frames in the flame graphs
> around monitor entry exit consuming a lot of CPU cycles (see attached
> images). Noticed that the synchronization there is too coarse grained and
> sometimes unnecessary. I did a simple patch that switched to a reentrant lock
> based synchronization with condition variable rather than a busy wait and
> that showed 70-80% increased throughput in WAL PE. Seems too good to be
> true.. (more details in the comments).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)