[
https://issues.apache.org/jira/browse/HBASE-16890?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15638140#comment-15638140
]
stack commented on HBASE-16890:
-------------------------------
I ran WALPE w/ log roll disabled against a single, remote DN. I see that FSHLog
is 2x AsyncWAL even w/ HBASE-17021 patch in place.
FSHLog, Default Master Branch
{code}
2016-11-04 16:09:05,210 INFO [main] wal.WALPerformanceEvaluation: Summary:
threads=100, iterations=100000, syncInterval=0 took 269.595s 37092.676ops/s
Performance counter stats for './hbase/bin/hbase --config
/home/stack/conf_hbase org.apache.hadoop.hbase.wal.WALPerformanceEvaluation
-threads 100 -iterations 100000 -qualifiers 25 -keySize 50 -valueSize 200':
2970796.406680 task-clock (msec) # 10.831 CPUs utilized
19,589,972 context-switches # 0.007 M/sec
2,862,328 cpu-migrations # 0.963 K/sec
7,026,111 page-faults # 0.002 M/sec
5,189,096,974,913 cycles # 1.747 GHz
<not supported> stalled-cycles-frontend
<not supported> stalled-cycles-backend
2,899,414,852,894 instructions # 0.56 insns per cycle
472,244,057,677 branches # 158.962 M/sec
4,717,852,912 branch-misses # 1.00% of all branches
274.288161881 seconds time elapsed
{code}
Current State of AsyncFSWAL in master branch
{code}
2016-11-04 16:19:01,247 INFO [main] wal.WALPerformanceEvaluation: Summary:
threads=100, iterations=100000, syncInterval=0 took 541.682s 18461.016ops/s
Performance counter stats for './hbase/bin/hbase --config
/home/stack/conf_hbase org.apache.hadoop.hbase.wal.WALPerformanceEvaluation
-threads 100 -iterations 100000 -qualifiers 25 -keySize 50 -valueSize 200':
3032840.986653 task-clock (msec) # 5.484 CPUs utilized
15,400,858 context-switches # 0.005 M/sec
3,205,052 cpu-migrations # 0.001 M/sec
12,901,416 page-faults # 0.004 M/sec
5,212,559,898,743 cycles # 1.719 GHz
<not supported> stalled-cycles-frontend
<not supported> stalled-cycles-backend
2,676,707,056,681 instructions # 0.51 insns per cycle
445,557,848,140 branches # 146.911 M/sec
6,372,744,336 branch-misses # 1.43% of all branches
553.074446643 seconds time elapsed
{code}
Patched AsyncWAL
{code}
2016-11-04 16:36:12,872 INFO [main] wal.WALPerformanceEvaluation: Summary:
threads=100, iterations=100000, syncInterval=0 took 449.542s 22244.863ops/s
Performance counter stats for './hbase/bin/hbase --config
/home/stack/conf_hbase org.apache.hadoop.hbase.wal.WALPerformanceEvaluation
-threads 100 -iterations 100000 -qualifiers 25 -keySize 50 -valueSize 200':
2847554.990457 task-clock (msec) # 6.151 CPUs utilized
11,158,364 context-switches # 0.004 M/sec
1,697,560 cpu-migrations # 0.596 K/sec
8,239,210 page-faults # 0.003 M/sec
5,082,916,581,506 cycles # 1.785 GHz
<not supported> stalled-cycles-frontend
<not supported> stalled-cycles-backend
2,443,254,158,990 instructions # 0.48 insns per cycle
392,726,539,853 branches # 137.917 M/sec
5,782,766,858 branch-misses # 1.47% of all branches
462.937995983 seconds time elapsed
{code}
Looking in flight recorder, I don't see any contention reported any more w/ the
patched asyncwal so that is good.
> Analyze the performance of AsyncWAL and fix the same
> ----------------------------------------------------
>
> Key: HBASE-16890
> URL: https://issues.apache.org/jira/browse/HBASE-16890
> Project: HBase
> Issue Type: Sub-task
> Components: wal
> Affects Versions: 2.0.0
> Reporter: ramkrishna.s.vasudevan
> Assignee: ramkrishna.s.vasudevan
> Fix For: 2.0.0
>
> Attachments: AsyncWAL_disruptor.patch, AsyncWAL_disruptor_1
> (2).patch, AsyncWAL_disruptor_3.patch, AsyncWAL_disruptor_3.patch,
> AsyncWAL_disruptor_4.patch, AsyncWAL_disruptor_6.patch,
> HBASE-16890-rc-v2.patch, HBASE-16890-rc-v3.patch,
> HBASE-16890-remove-contention-v1.patch, HBASE-16890-remove-contention.patch,
> Screen Shot 2016-10-25 at 7.34.47 PM.png, Screen Shot 2016-10-25 at 7.39.07
> PM.png, Screen Shot 2016-10-25 at 7.39.48 PM.png, async.svg, classic.svg,
> contention.png, contention_defaultWAL.png
>
>
> Tests reveal that AsyncWAL under load in single node cluster performs slower
> than the Default WAL. This task is to analyze and see if we could fix it.
> See some discussions in the tail of JIRA HBASE-15536.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)