[
https://issues.apache.org/jira/browse/HBASE-9488?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
chunhui shen updated HBASE-9488:
--------------------------------
Description:
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
was:
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
> 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