[ https://issues.apache.org/jira/browse/HBASE-9488?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13763245#comment-13763245 ]
Lars Hofhansl commented on HBASE-9488: -------------------------------------- Nit: I should have done that when I broken ClientScanner and AbstractClientScanner out, but while you're at it, can you pull {{public Result[] next(int nbRows) throws IOException}} up into AsbtractClientScanner and remove it from ClientScanner and SmallClientScanner? > 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 > Attachments: HBASE-9488-trunk.patch, HBASE-9488-trunkV2.patch, test > results.jpg > > > review board: > https://reviews.apache.org/r/14059/ > 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 > *Usage:* > Scan scan = new Scan(startRow,stopRow); > scan.setSmall(true); > ResultScanner scanner = table.getScanner(scan); > Set the new 'small' attribute as true for scan, others are the same > -- 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