[ https://issues.apache.org/jira/browse/HBASE-9488?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13801519#comment-13801519 ]
Hudson commented on HBASE-9488: ------------------------------- SUCCESS: Integrated in HBase-0.94-security #320 (See [https://builds.apache.org/job/HBase-0.94-security/320/]) HBASE-9488 Improve performance for small scan (chunhui shen) (larsh: rev 1534494) * /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java * /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/ClientSmallScanner.java * /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HTable.java * /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/Scan.java * /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/ServerCallable.java * /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java * /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java * /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java * /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java * /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java > 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.96.0, 0.94.13 > > Attachments: hbase-9488-94-v3.patch, HBASE-9488-trunk.patch, > HBASE-9488-trunkV2.patch, HBASE-9488-trunkV3.patch, HBASE-9488-trunkV4.patch, > HBASE-9488-trunkV4.patch, HBASE-9488-trunkV5.patch, > mergeRpcCallForScan.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 was sent by Atlassian JIRA (v6.1#6144)