Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9A6BF101A6 for ; Sat, 21 Sep 2013 05:32:54 +0000 (UTC) Received: (qmail 90859 invoked by uid 500); 21 Sep 2013 05:32:52 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 90822 invoked by uid 500); 21 Sep 2013 05:32:52 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 90809 invoked by uid 99); 21 Sep 2013 05:32:52 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 21 Sep 2013 05:32:52 +0000 Date: Sat, 21 Sep 2013 05:32:52 +0000 (UTC) From: "Lars Hofhansl (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-9488) Improve performance for small scan MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-9488?page=3Dcom.atlassian= .jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D1377= 3733#comment-13773733 ]=20 Lars Hofhansl commented on HBASE-9488: -------------------------------------- Lemme run some tests. If I do get to those this weekend we can commit in th= is jira, otherwise I'll file a backport jira with your patch attached. =20 > 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 > > Attachments: hbase-9488-94-v3.patch, HBASE-9488-trunk.patch, HBAS= E-9488-trunkV2.patch, HBASE-9488-trunkV3.patch, HBASE-9488-trunkV4.patch, H= BASE-9488-trunkV4.patch, HBASE-9488-trunkV5.patch, mergeRpcCallForScan.patc= h, 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<=3D50 unde= r cache hit ratio=3D100%. > See more performance test result from the picture attachment > *Usage:* > Scan scan =3D new Scan(startRow,stopRow); > scan.setSmall(true); > ResultScanner scanner =3D table.getScanner(scan); > Set the new 'small' attribute as true for scan object, others are the sam= e > 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=EF=BC=9A > patched on 0.94 version > one regionserver;=20 > 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 > =20 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrato= rs For more information on JIRA, see: http://www.atlassian.com/software/jira