[ 
https://issues.apache.org/jira/browse/HBASE-13291?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14482093#comment-14482093
 ] 

stack commented on HBASE-13291:
-------------------------------

bq. SQM.match() was changed in truck to be expressed in term of operations on 
Cells (before it was hand "optimized" to deconstruct KVs in the most efficient 
way).

[~lhofhansl] The attache hack undoes the Cellification in SQM#match. See in 
https://issues.apache.org/jira/secure/attachment/12708268/13291.hacks.txt 
Argument for the 'dirty tricks' is:

{code}
321           // Dirty tricks if cell is a KeyValue. Below uglyness is to save 
on our reparsing lengths of
322           // families, rows, and keys more than once.
{code}

bq. So far our introduction of Cells ... I am not aware of a single perf 
advantage 

Yeah....

bq. Maybe it's time to make a concerted effort and get rid of KeyValue.getKey() 
and KeyValue.getBuffer() for real, it's those two methods that prevent a lot of 
cool optimizations.

[~anoop.hbase] and [~ram_krish] have done it in the read path. Need same on 
write path.


> 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.hacks.txt, 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, 
> scan_no_mvcc_optimized.svg, 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