[
https://issues.apache.org/jira/browse/HBASE-13291?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14482589#comment-14482589
]
ramkrishna.s.vasudevan commented on HBASE-13291:
------------------------------------------------
[[email protected]]
Again the tweaked patch also we call getKeyLength()? That is again trying to
do Bytes.toInt().
Will it be possible to create a Cell which could do the caching of these values
like we did in BB cell (Anoop has suggested the same in the above comments)?
KVs from memstore will not have that benefit but we can see how much that
improves. I have seen doing the caching has removed those methods from the
'hot' methods.
And for the tags hack, we could add an interface with a hasTags API and when we
construct the KV we could set that. Let all the Cell implementation implement
that new interface also. By default let it be true.
bq.but since we haven't finished I am not aware of a single perf advantage
Yes but for the DBE cases I think we have some advantages. Because of cells we
are not copying the value part now. Previously we were reconstructing a KV by
copying the key and value, now we do that only for the key part. If the values
are bigger we should see some gain.
> 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,
> TimeRange.patch, 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)