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

Zhihong Ted Yu commented on HBASE-6312:
---------------------------------------

Pasting from a message on dev@:

Ideally those shouldn't be configurable, we should just set to a level
that makes more sense. If we do make it configurable and let it like
that then we'll have questions like "what acceptable/min factor should
I use?" and we'll spend hours doing back and forth on the ML to get
minimal results.

Currently having the acceptable factor set to where it is just means
that we're using less memory than configured eg if you need to cache
2GB per machine, set hfile.block.cache.size to ~2.35GB and you'll have
it.

The real issue is the minimum factor. The idea is that we don't want
to overflow the configured maximum size while we're evicting. The
problems:

 - Evicting 10% of the cache (85-75) is pretty hardcore, it means that
if you evict often then you're never close to using 85% of your cache.
 - Evictions are purely CPU-bound and in my tests are almost never
likely to be so slow that you reach 100% utilization (whereas loading
the cache usually means you need to read from disk). It was too slow
for caches of up to 32MB with data generated in-memory.
 - Considering the previous two problems it seems we should set the
minimum factor close to the acceptable one, but on big caches this
would waste a lot of CPU cycles (I haven't quantified that yet, I'm
just stating this from experience).

So back to HBASE-6312, at the moment I think we should just set the
minimum factor 5% closer to the acceptable one. Jie Huang doesn't
mention if in their tests their customers compared the caching ratio
for caches of the same size but with different acceptable factor or if
they tried to compare apples to apples. What I'm trying to say, going
back to my earlier example, is that if they compared two caches with
hfile.block.cache.size=0.2 but with different acceptable factors then
well yes the one with the bigger acceptable factor will win... because
it's using a bigger cache.

J-D
                
> Make BlockCache eviction thresholds configurable
> ------------------------------------------------
>
>                 Key: HBASE-6312
>                 URL: https://issues.apache.org/jira/browse/HBASE-6312
>             Project: HBase
>          Issue Type: Improvement
>          Components: io
>    Affects Versions: 0.94.0
>            Reporter: Jie Huang
>            Priority: Minor
>         Attachments: hbase-6312.patch
>
>
> Some of our customers found that tuning the BlockCache eviction thresholds 
> made test results different in their test environment. However, those 
> thresholds are not configurable in the current implementation. The only way 
> to change those values is to re-compile the HBase source code. We wonder if 
> it is possible to make them configurable.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to