[ 
https://issues.apache.org/jira/browse/HBASE-13291?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

stack updated HBASE-13291:
--------------------------
    Attachment: nonBBposAndInineMvccVint.txt

This is the hack to bypass bb plus inlining of the vint of mvcc. No longer 
shows in perf top. Here is what it looks like now:

{code}
Samples: 4M of event 'cycles', Event count (approx.): 422533226118
 21.09%  perf-13042.map      [.] 
Lorg/apache/hadoop/hbase/io/hfile/HFileReaderV2$ScannerV2;._next in 
Lorg/apache/hadoop/hbase/io/hfile/HFileReaderV2$ScannerV2;.next
 12.76%  perf-13042.map      [.] 
Lorg/apache/hadoop/hbase/regionserver/ScanQueryMatcher;.match
 11.61%  perf-13042.map      [.] <A0>4=^D<F4>^?
  6.00%  perf-13042.map      [.] 
Lorg/apache/hadoop/hbase/regionserver/StoreScanner;.optimize in 
Lorg/apache/hadoop/hbase/regionserver/StoreScanner;.next
  5.84%  perf-13042.map      [.] 
Lorg/apache/hadoop/hbase/regionserver/KeyValueHeap;.next
  4.75%  perf-13042.map      [.] 
Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;.release in 
Lorg/apache/hadoop/hbase/regionserver/StoreScanner;.peek
  3.87%  perf-13042.map      [.] 
Ljava/util/PriorityQueue;.siftUpUsingComparator in 
Lorg/apache/hadoop/hbase/regionserver/KeyValueHeap;.next
  3.57%  perf-13042.map      [.] 
Lorg/apache/hadoop/hbase/regionserver/KeyValueHeap;.peek in 
Lorg/apache/hadoop/hbase/regionserver/KeyValueHeap;.next
  3.09%  perf-13042.map      [.] 
Lorg/apache/hadoop/hbase/util/Bytes$LexicographicalComparerHolder$UnsafeComparer;.compareTo
 in Lorg/apache/hadoop/hbase/regionserver/ScanQueryMatcher;.match
  2.00%  perf-13042.map      [.] 
Lorg/apache/hadoop/hbase/regionserver/ScanDeleteTracker;.reset in 
Lorg/apache/hadoop/hbase/regionserver/StoreScanner;.next
  1.96%  libjvm.so           [.] 
BlockOffsetArrayNonContigSpace::block_start_unsafe(void const*) const
  1.38%  perf-13042.map      [.] 
Lorg/apache/hadoop/hbase/regionserver/StoreFileScanner;.next in 
Lorg/apache/hadoop/hbase/regionserver/KeyValueHeap;.next
  1.03%  libjvm.so           [.] 
ClearNoncleanCardWrapper::do_MemRegion(MemRegion)
  0.95%  perf-13042.map      [.] Ljava/util/concurrent/ConcurrentHashMap;.get 
in Lorg/apache/hadoop/hbase/io/hfile/LruBlockCache;.getBlock
  0.93%  perf-13042.map      [.] 
Ljava/util/concurrent/locks/LockSupport;.unpark in 
Lorg/apache/hadoop/hbase/regionserver/StoreScanner;.next
  0.91%  perf-13042.map      [.] Ljava/nio/HeapByteBuffer;.slice in 
Lorg/apache/hadoop/hbase/io/hfile/HFileReaderV2$ScannerV2;.updateCurrBlock
  0.77%  libjvm.so           [.] typeArrayKlass::allocate_common(int, bool, 
Thread*)
  0.72%  libjvm.so           [.] CompactibleFreeListSpace::block_size(HeapWord 
const*) const
  0.60%  perf-13042.map      [.] 
Lorg/apache/hadoop/hbase/util/Bytes$LexicographicalComparerHolder$UnsafeComparer;.compareTo
 in 
Lorg/apache/hadoop/hbase/regionserver/HRegion$RegionScannerImpl;.nextInternal
  0.55%  perf-13042.map      [.] <D0>)=^D<F4>^?
  0.49%  libjvm.so           [.] SpinPause
  0.45%  perf-13042.map      [.] 
Lorg/apache/hadoop/hbase/util/Bytes$LexicographicalComparerHolder$UnsafeComparer;.compareTo
 in 
Lorg/apache/hadoop/hbase/regionserver/HRegion$RegionScannerImpl;.populateResult
{code}

At about 8.5k/s. Up but not much.

> Lift the scan ceiling
> ---------------------
>
>                 Key: HBASE-13291
>                 URL: https://issues.apache.org/jira/browse/HBASE-13291
>             Project: HBase
>          Issue Type: Improvement
>          Components: Scanners
>    Affects Versions: 1.0.0
>            Reporter: stack
>            Assignee: stack
>         Attachments: 13291.inlining.txt, Screen Shot 2015-03-26 at 12.12.13 
> PM.png, Screen Shot 2015-03-26 at 3.39.33 PM.png, hack_to_bypass_bb.txt, 
> nonBBposAndInineMvccVint.txt, q (1).png, traces.7.svg, traces.filterall.svg, 
> traces.nofilter.svg, traces.small2.svg, traces.smaller.svg
>
>
> Scanning medium sized rows with multiple concurrent scanners exhibits 
> interesting 'ceiling' properties. A server runs at about 6.7k ops a second 
> using 450% of possible 1600% of CPUs  when 4 clients each with 10 threads 
> doing scan 1000 rows.  If I add '--filterAll' argument (do not return 
> results), then we run at 1450% of possible 1600% possible but we do 8k ops a 
> second.
> Let me attach flame graphs for two cases. Unfortunately, there is some 
> frustrating dark art going on. Let me try figure it... Filing issue in 
> meantime to keep score in.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to