hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dave Latham (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-9488) Improve performance for small scan
Date Wed, 11 Sep 2013 05:48:56 GMT

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

Dave Latham commented on HBASE-9488:
------------------------------------

Yes - we were discussing trimming short scans on dev list a few weeks back.  For my purposes
this change would be nice, especially if it will be set for META table prefetch queries.

I worry though that Scan.setSmall adds to the API area and is going to be confusing to people.
It would be  if we found a way to do it more automatically, though that sounds difficult.
 At the least we should probably have more of the documentation on the public Scan methods
rather than the private field.
                
> Improve performance for small scan
> ----------------------------------
>
>                 Key: HBASE-9488
>                 URL: https://issues.apache.org/jira/browse/HBASE-9488
>             Project: HBase
>          Issue Type: Improvement
>          Components: Client, Performance, Scanners
>            Reporter: chunhui shen
>            Assignee: chunhui shen
>             Fix For: 0.98.0, 0.94.13
>
>         Attachments: hbase-9488-94-v3.patch, HBASE-9488-trunk.patch, HBASE-9488-trunkV2.patch,
HBASE-9488-trunkV3.patch, test results.jpg
>
>
> review board:
> https://reviews.apache.org/r/14059/
> *Performance Improvement*
> Test shows about 1.5~3X improvement for small scan where limit<=50 under cache hit
ratio=100%.
> See more performance test result from the picture attachment
> *Usage:*
> Scan scan = new Scan(startRow,stopRow);
> scan.setSmall(true);
> ResultScanner scanner = table.getScanner(scan);
> Set the new 'small' attribute as true for scan object, others are the same
> Now, one scan operation would call 3 RPC at least:
> openScanner();
> next();
> closeScanner();
> I think we could reduce the RPC call to one for small scan to get better performance
> Also using pread is better than seek+read for small scan (For this point, see more on
HBASE-7266)
> Implements such a small scan as the patch, and take the performance test as following:
> a.Environment´╝Ü
> patched on 0.94 version
> one regionserver; 
> one client with 50 concurrent threads;
> KV size:50/100;
> 100% LRU cache hit ratio;
> Random start row of scan
> b.Results:
> See the picture attachment
>  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message