Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-9488

Improve performance for small scan

    Details

    • Hadoop Flags:
      Reviewed
    • Release Note:
      Better perfomance for small scan (e.g. scan range is within one data block(64KB)) through setting 'small' attribute as true in Scan Object

      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

        Attachments

        1. hbase-9488-94-v3.patch
          24 kB
          chunhui shen
        2. HBASE-9488-trunk.patch
          37 kB
          chunhui shen
        3. HBASE-9488-trunkV2.patch
          38 kB
          chunhui shen
        4. HBASE-9488-trunkV3.patch
          38 kB
          chunhui shen
        5. HBASE-9488-trunkV4.patch
          39 kB
          stack
        6. HBASE-9488-trunkV4.patch
          39 kB
          chunhui shen
        7. HBASE-9488-trunkV5.patch
          39 kB
          chunhui shen
        8. mergeRpcCallForScan.patch
          5 kB
          chunhui shen
        9. test results.jpg
          106 kB
          chunhui shen

          Activity

            People

            • Assignee:
              zjushch chunhui shen
              Reporter:
              zjushch chunhui shen
            • Votes:
              0 Vote for this issue
              Watchers:
              16 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: