You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by Andrew Purtell <ap...@apache.org> on 2014/03/25 08:29:15 UTC

Comparsion between 0.98.0 and 0.98.1RC1 using YCSB

Thought I'd look at how 0.98.0 and 0.98.1 RC1 compare using YCSB. It could
be .1 is just a hair slower than .0, but the results are similar. For some
workloads either .0 or .1 could be slightly ahead run to run. Results from
the most recent runs are presented below.

*Hardware and Versions*

  Hadoop 2.2.0
  HBase 0.98.1-hadoop2 RC1

  5x EC2 cc2.8xlarge
    32 cores
    60 GB RAM
    4 x 840 GB directly attached spinning media, as DN storage volumes
    NameNode: 4 GB heap
    DataNode: 1 GB heap
    Master: 4 GB heap
    RegionServer: 8 GB heap, 24 GB bucket cache offheap engine

  1x EC2 cc2.8xlarge
    YCSB

*Configuration*

  Hadoop and HBase default site configuration, except:
   - dfs.client.read.shortcircuit=true
   - dfs.client.read.shortcircuit.skip.checksum=true
   - dfs.client.domain.socket.data.traffic=true
   - dfs.domain.socket.path=...
   - dfs.datanode.max.xcievers = 16384
   - dfs.namenode.handler.count = 100
   - ipc.server.tcpnodelay=true
   - hbase.ipc.client.tcpnodelay=true
   - hbase.bucketcache.ioengine=offheap
   - hbase.bucketcache.size=0.9

*Methodology*

 Setup:

   0. Start cluster
   1. shell: create "seed", { NAME=>"u", COMPRESSION=>"snappy" }
   2. YCSB:  Preload 100 million rows into table "seed"
   3. shell: compact "seed"
   4. Wait for compaction to complete
   5. shell: create_snapshot "seed", "seed_snap"
   6. shell: disable "seed"

  For each test:

   7. shell: clone_snapshot "seed_snap", "test"
   8. YCSB:  Run test -p operationcount=10000000 -threads 32 -target 50000
(clamp at ~10k ops/server/sec)
   9. shell: disable "test"
  10. shell: drop "test"

*Workload A*

*  0.98.0*

  [OVERALL], RunTime(ms), 200313.0
  [OVERALL], Throughput(ops/sec), 49921.87226989761
  [READ], Operations, 5002419
  [READ], AverageLatency(us), 1136.5890318264023
  [READ], MinLatency(us), 281
  [READ], MaxLatency(us), 1134224
  [READ], 95thPercentileLatency(ms), 1
  [READ], 99thPercentileLatency(ms), 2
  [UPDATE], Operations, 4997613
  [UPDATE], AverageLatency(us), 6.608387844356896
  [UPDATE], MinLatency(us), 0
  [UPDATE], MaxLatency(us), 724894
  [UPDATE], 95thPercentileLatency(ms), 0
  [UPDATE], 99thPercentileLatency(ms), 0

*  0.98.1*

  [OVERALL], RunTime(ms), 200323.0
  [OVERALL], Throughput(ops/sec), 49919.38020097542
  [READ], Operations, 5001366
  [READ], AverageLatency(us), 1157.195526182247
  [READ], MinLatency(us), 311
  [READ], MaxLatency(us), 1116840
  [READ], 95thPercentileLatency(ms), 1
  [READ], 99thPercentileLatency(ms), 2
  [UPDATE], Operations, 4998666
  [UPDATE], AverageLatency(us), 6.185563908450774
  [UPDATE], MinLatency(us), 0
  [UPDATE], MaxLatency(us), 725483
  [UPDATE], 95thPercentileLatency(ms), 0
  [UPDATE], 99thPercentileLatency(ms), 0

*Workload B*

*  0.98.0*

  [OVERALL], RunTime(ms), 264508.0
  [OVERALL], Throughput(ops/sec), 37806.039892933295
  [READ], Operations, 9499452
  [READ], AverageLatency(us), 880.201064545618
  [READ], MinLatency(us), 290
  [READ], MaxLatency(us), 1160947
  [READ], 95thPercentileLatency(ms), 1
  [READ], 99thPercentileLatency(ms), 1
  [UPDATE], Operations, 500580
  [UPDATE], AverageLatency(us), 12.54600063925846
  [UPDATE], MinLatency(us), 1
  [UPDATE], MaxLatency(us), 741148
  [UPDATE], 95thPercentileLatency(ms), 0
  [UPDATE], 99thPercentileLatency(ms), 0

*  0.98.1*

  [OVERALL], RunTime(ms), 265789.0
  [OVERALL], Throughput(ops/sec), 37623.8294286069
  [READ], Operations, 9499661
  [READ], AverageLatency(us), 884.9811973290415
  [READ], MinLatency(us), 273
  [READ], MaxLatency(us), 1186243
  [READ], 95thPercentileLatency(ms), 1
  [READ], 99thPercentileLatency(ms), 1
  [UPDATE], Operations, 500371
  [UPDATE], AverageLatency(us), 16.71922433554303
  [UPDATE], MinLatency(us), 1
  [UPDATE], MaxLatency(us), 923659
  [UPDATE], 95thPercentileLatency(ms), 0
  [UPDATE], 99thPercentileLatency(ms), 0

*Workload C*

*  0.98.0*

  [OVERALL], RunTime(ms), 275967.0
  [OVERALL], Throughput(ops/sec), 36236.2166490921
  [READ], Operations, 10000000
  [READ], AverageLatency(us), 875.3169807
  [READ], MinLatency(us), 283
  [READ], MaxLatency(us), 1123204
  [READ], 95thPercentileLatency(ms), 1
  [READ], 99thPercentileLatency(ms), 1

*  0.98.1*

  [OVERALL], RunTime(ms), 274182.0
  [OVERALL], Throughput(ops/sec), 36472.124355355205
  [READ], Operations, 10000000
  [READ], AverageLatency(us), 868.9167299
  [READ], MinLatency(us), 287
  [READ], MaxLatency(us), 1082448
  [READ], 95thPercentileLatency(ms), 1
  [READ], 99thPercentileLatency(ms), 1

*Workload D*

*  0.98.0*

  [OVERALL], RunTime(ms), 430518.0
  [OVERALL], Throughput(ops/sec), 23227.83251803641
  [INSERT], Operations, 501258
  [INSERT], AverageLatency(us), 18.74352529036943
  [INSERT], MinLatency(us), 5
  [INSERT], MaxLatency(us), 729485
  [INSERT], 95thPercentileLatency(ms), 0
  [INSERT], 99thPercentileLatency(ms), 0
  [READ], Operations, 9498742
  [READ], AverageLatency(us), 1435.8229302364462
  [READ], MinLatency(us), 278
  [READ], MaxLatency(us), 1086256
  [READ], 95thPercentileLatency(ms), 3
  [READ], 99thPercentileLatency(ms), 13

*  0.98.1*

  [OVERALL], RunTime(ms), 473086.0
  [OVERALL], Throughput(ops/sec), 21137.805811205573
  [INSERT], Operations, 500280
  [INSERT], AverageLatency(us), 18.910943871431996
  [INSERT], MinLatency(us), 5
  [INSERT], MaxLatency(us), 741632
  [INSERT], 95thPercentileLatency(ms), 0
  [INSERT], 99thPercentileLatency(ms), 0
  [READ], Operations, 9499720
  [READ], AverageLatency(us), 1574.2442979372024
  [READ], MinLatency(us), 285
  [READ], MaxLatency(us), 1142568
  [READ], 95thPercentileLatency(ms), 6
  [READ], 99thPercentileLatency(ms), 15

*Workload E*

*  0.98.0*

  [OVERALL], RunTime(ms), 1741385.0
  [OVERALL], Throughput(ops/sec), 5742.555494620661
  [INSERT], Operations, 498580
  [INSERT], AverageLatency(us), 12.785394520438045
  [INSERT], MinLatency(us), 5
  [INSERT], MaxLatency(us), 47371
  [INSERT], 95thPercentileLatency(ms), 0
  [INSERT], 99thPercentileLatency(ms), 0
  [SCAN], Operations, 9501420
  [SCAN], AverageLatency(us), 5832.021051169194
  [SCAN], MinLatency(us), 850
  [SCAN], MaxLatency(us), 18383187
  [SCAN], 95thPercentileLatency(ms), 11
  [SCAN], 99thPercentileLatency(ms), 22

*  0.98.1*

  [OVERALL], RunTime(ms), 1626498.0
  [OVERALL], Throughput(ops/sec), 6148.178479161978
  [INSERT], Operations, 498248
  [INSERT], AverageLatency(us), 14.589842809203448
  [INSERT], MinLatency(us), 5
  [INSERT], MaxLatency(us), 726310
  [INSERT], 95thPercentileLatency(ms), 0
  [INSERT], 99thPercentileLatency(ms), 0
  [SCAN], Operations, 9501752
  [SCAN], AverageLatency(us), 5451.874070381968
  [SCAN], MinLatency(us), 847
  [SCAN], MaxLatency(us), 1278273
  [SCAN], 95thPercentileLatency(ms), 12
  [SCAN], 99thPercentileLatency(ms), 26

*Workload F*

*  0.98.0*

  [OVERALL], RunTime(ms), 376552.0
  [OVERALL], Throughput(ops/sec), 26556.75710127685
  [READ], Operations, 10000000
  [READ], AverageLatency(us), 1192.262719
  [READ], MinLatency(us), 293
  [READ], MaxLatency(us), 1108215
  [READ], 95thPercentileLatency(ms), 1
  [READ], 99thPercentileLatency(ms), 2
  [READ-MODIFY-WRITE], Operations, 4999036
  [READ-MODIFY-WRITE], AverageLatency(us), 1198.5333812359022
  [READ-MODIFY-WRITE], MinLatency(us), 299
  [READ-MODIFY-WRITE], MaxLatency(us), 1070294
  [READ-MODIFY-WRITE], 95thPercentileLatency(ms), 1
  [READ-MODIFY-WRITE], 99thPercentileLatency(ms), 2
  [READ-MODIFY-WRITE], 0, 2018024
  [UPDATE], Operations, 4999068
  [UPDATE], AverageLatency(us), 3.940626532785711
  [UPDATE], MinLatency(us), 1
  [UPDATE], MaxLatency(us), 155147
  [UPDATE], 95thPercentileLatency(ms), 0
  [UPDATE], 99thPercentileLatency(ms), 0

*  0.98.1*

  [OVERALL], RunTime(ms), 385273.0
  [OVERALL], Throughput(ops/sec), 25955.621079078992
  [READ], Operations, 10000000
  [READ], AverageLatency(us), 1218.9608977
  [READ], MinLatency(us), 296
  [READ], MaxLatency(us), 1128785
  [READ], 95thPercentileLatency(ms), 1
  [READ], 99thPercentileLatency(ms), 3
  [READ-MODIFY-WRITE], Operations, 5001281
  [READ-MODIFY-WRITE], AverageLatency(us), 1226.2466698031965
  [READ-MODIFY-WRITE], MinLatency(us), 300
  [READ-MODIFY-WRITE], MaxLatency(us), 1129077
  [READ-MODIFY-WRITE], 95thPercentileLatency(ms), 1
  [READ-MODIFY-WRITE], 99thPercentileLatency(ms), 3
  [UPDATE], Operations, 5001313
  [UPDATE], AverageLatency(us), 4.26973976633736
  [UPDATE], MinLatency(us), 1
  [UPDATE], MaxLatency(us), 120701
  [UPDATE], 95thPercentileLatency(ms), 0
  [UPDATE], 99thPercentileLatency(ms), 0


-- 
Best regards,

   - Andy

Problems worthy of attack prove their worth by hitting back. - Piet Hein
(via Tom White)

Re: Comparsion between 0.98.0 and 0.98.1RC1 using YCSB

Posted by Michael Segel <mi...@hotmail.com>.
How many times did you run this test? (test suite)

On Mar 25, 2014, at 7:29 AM, Andrew Purtell <ap...@apache.org> wrote:

> Thought I'd look at how 0.98.0 and 0.98.1 RC1 compare using YCSB. It could
> be .1 is just a hair slower than .0, but the results are similar. For some
> workloads either .0 or .1 could be slightly ahead run to run. Results from
> the most recent runs are presented below.
> 
> *Hardware and Versions*
> 
>  Hadoop 2.2.0
>  HBase 0.98.1-hadoop2 RC1
> 
>  5x EC2 cc2.8xlarge
>    32 cores
>    60 GB RAM
>    4 x 840 GB directly attached spinning media, as DN storage volumes
>    NameNode: 4 GB heap
>    DataNode: 1 GB heap
>    Master: 4 GB heap
>    RegionServer: 8 GB heap, 24 GB bucket cache offheap engine
> 
>  1x EC2 cc2.8xlarge
>    YCSB
> 
> *Configuration*
> 
>  Hadoop and HBase default site configuration, except:
>   - dfs.client.read.shortcircuit=true
>   - dfs.client.read.shortcircuit.skip.checksum=true
>   - dfs.client.domain.socket.data.traffic=true
>   - dfs.domain.socket.path=...
>   - dfs.datanode.max.xcievers = 16384
>   - dfs.namenode.handler.count = 100
>   - ipc.server.tcpnodelay=true
>   - hbase.ipc.client.tcpnodelay=true
>   - hbase.bucketcache.ioengine=offheap
>   - hbase.bucketcache.size=0.9
> 
> *Methodology*
> 
> Setup:
> 
>   0. Start cluster
>   1. shell: create "seed", { NAME=>"u", COMPRESSION=>"snappy" }
>   2. YCSB:  Preload 100 million rows into table "seed"
>   3. shell: compact "seed"
>   4. Wait for compaction to complete
>   5. shell: create_snapshot "seed", "seed_snap"
>   6. shell: disable "seed"
> 
>  For each test:
> 
>   7. shell: clone_snapshot "seed_snap", "test"
>   8. YCSB:  Run test -p operationcount=10000000 -threads 32 -target 50000
> (clamp at ~10k ops/server/sec)
>   9. shell: disable "test"
>  10. shell: drop "test"
> 
> *Workload A*
> 
> *  0.98.0*
> 
>  [OVERALL], RunTime(ms), 200313.0
>  [OVERALL], Throughput(ops/sec), 49921.87226989761
>  [READ], Operations, 5002419
>  [READ], AverageLatency(us), 1136.5890318264023
>  [READ], MinLatency(us), 281
>  [READ], MaxLatency(us), 1134224
>  [READ], 95thPercentileLatency(ms), 1
>  [READ], 99thPercentileLatency(ms), 2
>  [UPDATE], Operations, 4997613
>  [UPDATE], AverageLatency(us), 6.608387844356896
>  [UPDATE], MinLatency(us), 0
>  [UPDATE], MaxLatency(us), 724894
>  [UPDATE], 95thPercentileLatency(ms), 0
>  [UPDATE], 99thPercentileLatency(ms), 0
> 
> *  0.98.1*
> 
>  [OVERALL], RunTime(ms), 200323.0
>  [OVERALL], Throughput(ops/sec), 49919.38020097542
>  [READ], Operations, 5001366
>  [READ], AverageLatency(us), 1157.195526182247
>  [READ], MinLatency(us), 311
>  [READ], MaxLatency(us), 1116840
>  [READ], 95thPercentileLatency(ms), 1
>  [READ], 99thPercentileLatency(ms), 2
>  [UPDATE], Operations, 4998666
>  [UPDATE], AverageLatency(us), 6.185563908450774
>  [UPDATE], MinLatency(us), 0
>  [UPDATE], MaxLatency(us), 725483
>  [UPDATE], 95thPercentileLatency(ms), 0
>  [UPDATE], 99thPercentileLatency(ms), 0
> 
> *Workload B*
> 
> *  0.98.0*
> 
>  [OVERALL], RunTime(ms), 264508.0
>  [OVERALL], Throughput(ops/sec), 37806.039892933295
>  [READ], Operations, 9499452
>  [READ], AverageLatency(us), 880.201064545618
>  [READ], MinLatency(us), 290
>  [READ], MaxLatency(us), 1160947
>  [READ], 95thPercentileLatency(ms), 1
>  [READ], 99thPercentileLatency(ms), 1
>  [UPDATE], Operations, 500580
>  [UPDATE], AverageLatency(us), 12.54600063925846
>  [UPDATE], MinLatency(us), 1
>  [UPDATE], MaxLatency(us), 741148
>  [UPDATE], 95thPercentileLatency(ms), 0
>  [UPDATE], 99thPercentileLatency(ms), 0
> 
> *  0.98.1*
> 
>  [OVERALL], RunTime(ms), 265789.0
>  [OVERALL], Throughput(ops/sec), 37623.8294286069
>  [READ], Operations, 9499661
>  [READ], AverageLatency(us), 884.9811973290415
>  [READ], MinLatency(us), 273
>  [READ], MaxLatency(us), 1186243
>  [READ], 95thPercentileLatency(ms), 1
>  [READ], 99thPercentileLatency(ms), 1
>  [UPDATE], Operations, 500371
>  [UPDATE], AverageLatency(us), 16.71922433554303
>  [UPDATE], MinLatency(us), 1
>  [UPDATE], MaxLatency(us), 923659
>  [UPDATE], 95thPercentileLatency(ms), 0
>  [UPDATE], 99thPercentileLatency(ms), 0
> 
> *Workload C*
> 
> *  0.98.0*
> 
>  [OVERALL], RunTime(ms), 275967.0
>  [OVERALL], Throughput(ops/sec), 36236.2166490921
>  [READ], Operations, 10000000
>  [READ], AverageLatency(us), 875.3169807
>  [READ], MinLatency(us), 283
>  [READ], MaxLatency(us), 1123204
>  [READ], 95thPercentileLatency(ms), 1
>  [READ], 99thPercentileLatency(ms), 1
> 
> *  0.98.1*
> 
>  [OVERALL], RunTime(ms), 274182.0
>  [OVERALL], Throughput(ops/sec), 36472.124355355205
>  [READ], Operations, 10000000
>  [READ], AverageLatency(us), 868.9167299
>  [READ], MinLatency(us), 287
>  [READ], MaxLatency(us), 1082448
>  [READ], 95thPercentileLatency(ms), 1
>  [READ], 99thPercentileLatency(ms), 1
> 
> *Workload D*
> 
> *  0.98.0*
> 
>  [OVERALL], RunTime(ms), 430518.0
>  [OVERALL], Throughput(ops/sec), 23227.83251803641
>  [INSERT], Operations, 501258
>  [INSERT], AverageLatency(us), 18.74352529036943
>  [INSERT], MinLatency(us), 5
>  [INSERT], MaxLatency(us), 729485
>  [INSERT], 95thPercentileLatency(ms), 0
>  [INSERT], 99thPercentileLatency(ms), 0
>  [READ], Operations, 9498742
>  [READ], AverageLatency(us), 1435.8229302364462
>  [READ], MinLatency(us), 278
>  [READ], MaxLatency(us), 1086256
>  [READ], 95thPercentileLatency(ms), 3
>  [READ], 99thPercentileLatency(ms), 13
> 
> *  0.98.1*
> 
>  [OVERALL], RunTime(ms), 473086.0
>  [OVERALL], Throughput(ops/sec), 21137.805811205573
>  [INSERT], Operations, 500280
>  [INSERT], AverageLatency(us), 18.910943871431996
>  [INSERT], MinLatency(us), 5
>  [INSERT], MaxLatency(us), 741632
>  [INSERT], 95thPercentileLatency(ms), 0
>  [INSERT], 99thPercentileLatency(ms), 0
>  [READ], Operations, 9499720
>  [READ], AverageLatency(us), 1574.2442979372024
>  [READ], MinLatency(us), 285
>  [READ], MaxLatency(us), 1142568
>  [READ], 95thPercentileLatency(ms), 6
>  [READ], 99thPercentileLatency(ms), 15
> 
> *Workload E*
> 
> *  0.98.0*
> 
>  [OVERALL], RunTime(ms), 1741385.0
>  [OVERALL], Throughput(ops/sec), 5742.555494620661
>  [INSERT], Operations, 498580
>  [INSERT], AverageLatency(us), 12.785394520438045
>  [INSERT], MinLatency(us), 5
>  [INSERT], MaxLatency(us), 47371
>  [INSERT], 95thPercentileLatency(ms), 0
>  [INSERT], 99thPercentileLatency(ms), 0
>  [SCAN], Operations, 9501420
>  [SCAN], AverageLatency(us), 5832.021051169194
>  [SCAN], MinLatency(us), 850
>  [SCAN], MaxLatency(us), 18383187
>  [SCAN], 95thPercentileLatency(ms), 11
>  [SCAN], 99thPercentileLatency(ms), 22
> 
> *  0.98.1*
> 
>  [OVERALL], RunTime(ms), 1626498.0
>  [OVERALL], Throughput(ops/sec), 6148.178479161978
>  [INSERT], Operations, 498248
>  [INSERT], AverageLatency(us), 14.589842809203448
>  [INSERT], MinLatency(us), 5
>  [INSERT], MaxLatency(us), 726310
>  [INSERT], 95thPercentileLatency(ms), 0
>  [INSERT], 99thPercentileLatency(ms), 0
>  [SCAN], Operations, 9501752
>  [SCAN], AverageLatency(us), 5451.874070381968
>  [SCAN], MinLatency(us), 847
>  [SCAN], MaxLatency(us), 1278273
>  [SCAN], 95thPercentileLatency(ms), 12
>  [SCAN], 99thPercentileLatency(ms), 26
> 
> *Workload F*
> 
> *  0.98.0*
> 
>  [OVERALL], RunTime(ms), 376552.0
>  [OVERALL], Throughput(ops/sec), 26556.75710127685
>  [READ], Operations, 10000000
>  [READ], AverageLatency(us), 1192.262719
>  [READ], MinLatency(us), 293
>  [READ], MaxLatency(us), 1108215
>  [READ], 95thPercentileLatency(ms), 1
>  [READ], 99thPercentileLatency(ms), 2
>  [READ-MODIFY-WRITE], Operations, 4999036
>  [READ-MODIFY-WRITE], AverageLatency(us), 1198.5333812359022
>  [READ-MODIFY-WRITE], MinLatency(us), 299
>  [READ-MODIFY-WRITE], MaxLatency(us), 1070294
>  [READ-MODIFY-WRITE], 95thPercentileLatency(ms), 1
>  [READ-MODIFY-WRITE], 99thPercentileLatency(ms), 2
>  [READ-MODIFY-WRITE], 0, 2018024
>  [UPDATE], Operations, 4999068
>  [UPDATE], AverageLatency(us), 3.940626532785711
>  [UPDATE], MinLatency(us), 1
>  [UPDATE], MaxLatency(us), 155147
>  [UPDATE], 95thPercentileLatency(ms), 0
>  [UPDATE], 99thPercentileLatency(ms), 0
> 
> *  0.98.1*
> 
>  [OVERALL], RunTime(ms), 385273.0
>  [OVERALL], Throughput(ops/sec), 25955.621079078992
>  [READ], Operations, 10000000
>  [READ], AverageLatency(us), 1218.9608977
>  [READ], MinLatency(us), 296
>  [READ], MaxLatency(us), 1128785
>  [READ], 95thPercentileLatency(ms), 1
>  [READ], 99thPercentileLatency(ms), 3
>  [READ-MODIFY-WRITE], Operations, 5001281
>  [READ-MODIFY-WRITE], AverageLatency(us), 1226.2466698031965
>  [READ-MODIFY-WRITE], MinLatency(us), 300
>  [READ-MODIFY-WRITE], MaxLatency(us), 1129077
>  [READ-MODIFY-WRITE], 95thPercentileLatency(ms), 1
>  [READ-MODIFY-WRITE], 99thPercentileLatency(ms), 3
>  [UPDATE], Operations, 5001313
>  [UPDATE], AverageLatency(us), 4.26973976633736
>  [UPDATE], MinLatency(us), 1
>  [UPDATE], MaxLatency(us), 120701
>  [UPDATE], 95thPercentileLatency(ms), 0
>  [UPDATE], 99thPercentileLatency(ms), 0
> 
> 
> -- 
> Best regards,
> 
>   - Andy
> 
> Problems worthy of attack prove their worth by hitting back. - Piet Hein
> (via Tom White)


Re: Comparsion between 0.98.0 and 0.98.1RC1 using YCSB

Posted by Enis Söztutar <en...@gmail.com>.
BTW, this is not related, but we should not run with

dfs.client.read.shortcircuit.skip.checksum=true

This will cause WAL files read with short circuit to bypass checksum
verification.

We used to put up a warning in HBASE-8322, somehow it seems that part has
disappeared from trunk.

Enis

On Tue, Mar 25, 2014 at 12:29 AM, Andrew Purtell <ap...@apache.org>wrote:

> Thought I'd look at how 0.98.0 and 0.98.1 RC1 compare using YCSB. It could
> be .1 is just a hair slower than .0, but the results are similar. For some
> workloads either .0 or .1 could be slightly ahead run to run. Results from
> the most recent runs are presented below.
>
> *Hardware and Versions*
>
>   Hadoop 2.2.0
>   HBase 0.98.1-hadoop2 RC1
>
>   5x EC2 cc2.8xlarge
>     32 cores
>     60 GB RAM
>     4 x 840 GB directly attached spinning media, as DN storage volumes
>     NameNode: 4 GB heap
>     DataNode: 1 GB heap
>     Master: 4 GB heap
>     RegionServer: 8 GB heap, 24 GB bucket cache offheap engine
>
>   1x EC2 cc2.8xlarge
>     YCSB
>
> *Configuration*
>
>   Hadoop and HBase default site configuration, except:
>    - dfs.client.read.shortcircuit=true
>    - dfs.client.read.shortcircuit.skip.checksum=true
>    - dfs.client.domain.socket.data.traffic=true
>    - dfs.domain.socket.path=...
>    - dfs.datanode.max.xcievers = 16384
>    - dfs.namenode.handler.count = 100
>    - ipc.server.tcpnodelay=true
>    - hbase.ipc.client.tcpnodelay=true
>    - hbase.bucketcache.ioengine=offheap
>    - hbase.bucketcache.size=0.9
>
> *Methodology*
>
>  Setup:
>
>    0. Start cluster
>    1. shell: create "seed", { NAME=>"u", COMPRESSION=>"snappy" }
>    2. YCSB:  Preload 100 million rows into table "seed"
>    3. shell: compact "seed"
>    4. Wait for compaction to complete
>    5. shell: create_snapshot "seed", "seed_snap"
>    6. shell: disable "seed"
>
>   For each test:
>
>    7. shell: clone_snapshot "seed_snap", "test"
>    8. YCSB:  Run test -p operationcount=10000000 -threads 32 -target 50000
> (clamp at ~10k ops/server/sec)
>    9. shell: disable "test"
>   10. shell: drop "test"
>
> *Workload A*
>
> *  0.98.0*
>
>   [OVERALL], RunTime(ms), 200313.0
>   [OVERALL], Throughput(ops/sec), 49921.87226989761
>   [READ], Operations, 5002419
>   [READ], AverageLatency(us), 1136.5890318264023
>   [READ], MinLatency(us), 281
>   [READ], MaxLatency(us), 1134224
>   [READ], 95thPercentileLatency(ms), 1
>   [READ], 99thPercentileLatency(ms), 2
>   [UPDATE], Operations, 4997613
>   [UPDATE], AverageLatency(us), 6.608387844356896
>   [UPDATE], MinLatency(us), 0
>   [UPDATE], MaxLatency(us), 724894
>   [UPDATE], 95thPercentileLatency(ms), 0
>   [UPDATE], 99thPercentileLatency(ms), 0
>
> *  0.98.1*
>
>   [OVERALL], RunTime(ms), 200323.0
>   [OVERALL], Throughput(ops/sec), 49919.38020097542
>   [READ], Operations, 5001366
>   [READ], AverageLatency(us), 1157.195526182247
>   [READ], MinLatency(us), 311
>   [READ], MaxLatency(us), 1116840
>   [READ], 95thPercentileLatency(ms), 1
>   [READ], 99thPercentileLatency(ms), 2
>   [UPDATE], Operations, 4998666
>   [UPDATE], AverageLatency(us), 6.185563908450774
>   [UPDATE], MinLatency(us), 0
>   [UPDATE], MaxLatency(us), 725483
>   [UPDATE], 95thPercentileLatency(ms), 0
>   [UPDATE], 99thPercentileLatency(ms), 0
>
> *Workload B*
>
> *  0.98.0*
>
>   [OVERALL], RunTime(ms), 264508.0
>   [OVERALL], Throughput(ops/sec), 37806.039892933295
>   [READ], Operations, 9499452
>   [READ], AverageLatency(us), 880.201064545618
>   [READ], MinLatency(us), 290
>   [READ], MaxLatency(us), 1160947
>   [READ], 95thPercentileLatency(ms), 1
>   [READ], 99thPercentileLatency(ms), 1
>   [UPDATE], Operations, 500580
>   [UPDATE], AverageLatency(us), 12.54600063925846
>   [UPDATE], MinLatency(us), 1
>   [UPDATE], MaxLatency(us), 741148
>   [UPDATE], 95thPercentileLatency(ms), 0
>   [UPDATE], 99thPercentileLatency(ms), 0
>
> *  0.98.1*
>
>   [OVERALL], RunTime(ms), 265789.0
>   [OVERALL], Throughput(ops/sec), 37623.8294286069
>   [READ], Operations, 9499661
>   [READ], AverageLatency(us), 884.9811973290415
>   [READ], MinLatency(us), 273
>   [READ], MaxLatency(us), 1186243
>   [READ], 95thPercentileLatency(ms), 1
>   [READ], 99thPercentileLatency(ms), 1
>   [UPDATE], Operations, 500371
>   [UPDATE], AverageLatency(us), 16.71922433554303
>   [UPDATE], MinLatency(us), 1
>   [UPDATE], MaxLatency(us), 923659
>   [UPDATE], 95thPercentileLatency(ms), 0
>   [UPDATE], 99thPercentileLatency(ms), 0
>
> *Workload C*
>
> *  0.98.0*
>
>   [OVERALL], RunTime(ms), 275967.0
>   [OVERALL], Throughput(ops/sec), 36236.2166490921
>   [READ], Operations, 10000000
>   [READ], AverageLatency(us), 875.3169807
>   [READ], MinLatency(us), 283
>   [READ], MaxLatency(us), 1123204
>   [READ], 95thPercentileLatency(ms), 1
>   [READ], 99thPercentileLatency(ms), 1
>
> *  0.98.1*
>
>   [OVERALL], RunTime(ms), 274182.0
>   [OVERALL], Throughput(ops/sec), 36472.124355355205
>   [READ], Operations, 10000000
>   [READ], AverageLatency(us), 868.9167299
>   [READ], MinLatency(us), 287
>   [READ], MaxLatency(us), 1082448
>   [READ], 95thPercentileLatency(ms), 1
>   [READ], 99thPercentileLatency(ms), 1
>
> *Workload D*
>
> *  0.98.0*
>
>   [OVERALL], RunTime(ms), 430518.0
>   [OVERALL], Throughput(ops/sec), 23227.83251803641
>   [INSERT], Operations, 501258
>   [INSERT], AverageLatency(us), 18.74352529036943
>   [INSERT], MinLatency(us), 5
>   [INSERT], MaxLatency(us), 729485
>   [INSERT], 95thPercentileLatency(ms), 0
>   [INSERT], 99thPercentileLatency(ms), 0
>   [READ], Operations, 9498742
>   [READ], AverageLatency(us), 1435.8229302364462
>   [READ], MinLatency(us), 278
>   [READ], MaxLatency(us), 1086256
>   [READ], 95thPercentileLatency(ms), 3
>   [READ], 99thPercentileLatency(ms), 13
>
> *  0.98.1*
>
>   [OVERALL], RunTime(ms), 473086.0
>   [OVERALL], Throughput(ops/sec), 21137.805811205573
>   [INSERT], Operations, 500280
>   [INSERT], AverageLatency(us), 18.910943871431996
>   [INSERT], MinLatency(us), 5
>   [INSERT], MaxLatency(us), 741632
>   [INSERT], 95thPercentileLatency(ms), 0
>   [INSERT], 99thPercentileLatency(ms), 0
>   [READ], Operations, 9499720
>   [READ], AverageLatency(us), 1574.2442979372024
>   [READ], MinLatency(us), 285
>   [READ], MaxLatency(us), 1142568
>   [READ], 95thPercentileLatency(ms), 6
>   [READ], 99thPercentileLatency(ms), 15
>
> *Workload E*
>
> *  0.98.0*
>
>   [OVERALL], RunTime(ms), 1741385.0
>   [OVERALL], Throughput(ops/sec), 5742.555494620661
>   [INSERT], Operations, 498580
>   [INSERT], AverageLatency(us), 12.785394520438045
>   [INSERT], MinLatency(us), 5
>   [INSERT], MaxLatency(us), 47371
>   [INSERT], 95thPercentileLatency(ms), 0
>   [INSERT], 99thPercentileLatency(ms), 0
>   [SCAN], Operations, 9501420
>   [SCAN], AverageLatency(us), 5832.021051169194
>   [SCAN], MinLatency(us), 850
>   [SCAN], MaxLatency(us), 18383187
>   [SCAN], 95thPercentileLatency(ms), 11
>   [SCAN], 99thPercentileLatency(ms), 22
>
> *  0.98.1*
>
>   [OVERALL], RunTime(ms), 1626498.0
>   [OVERALL], Throughput(ops/sec), 6148.178479161978
>   [INSERT], Operations, 498248
>   [INSERT], AverageLatency(us), 14.589842809203448
>   [INSERT], MinLatency(us), 5
>   [INSERT], MaxLatency(us), 726310
>   [INSERT], 95thPercentileLatency(ms), 0
>   [INSERT], 99thPercentileLatency(ms), 0
>   [SCAN], Operations, 9501752
>   [SCAN], AverageLatency(us), 5451.874070381968
>   [SCAN], MinLatency(us), 847
>   [SCAN], MaxLatency(us), 1278273
>   [SCAN], 95thPercentileLatency(ms), 12
>   [SCAN], 99thPercentileLatency(ms), 26
>
> *Workload F*
>
> *  0.98.0*
>
>   [OVERALL], RunTime(ms), 376552.0
>   [OVERALL], Throughput(ops/sec), 26556.75710127685
>   [READ], Operations, 10000000
>   [READ], AverageLatency(us), 1192.262719
>   [READ], MinLatency(us), 293
>   [READ], MaxLatency(us), 1108215
>   [READ], 95thPercentileLatency(ms), 1
>   [READ], 99thPercentileLatency(ms), 2
>   [READ-MODIFY-WRITE], Operations, 4999036
>   [READ-MODIFY-WRITE], AverageLatency(us), 1198.5333812359022
>   [READ-MODIFY-WRITE], MinLatency(us), 299
>   [READ-MODIFY-WRITE], MaxLatency(us), 1070294
>   [READ-MODIFY-WRITE], 95thPercentileLatency(ms), 1
>   [READ-MODIFY-WRITE], 99thPercentileLatency(ms), 2
>   [READ-MODIFY-WRITE], 0, 2018024
>   [UPDATE], Operations, 4999068
>   [UPDATE], AverageLatency(us), 3.940626532785711
>   [UPDATE], MinLatency(us), 1
>   [UPDATE], MaxLatency(us), 155147
>   [UPDATE], 95thPercentileLatency(ms), 0
>   [UPDATE], 99thPercentileLatency(ms), 0
>
> *  0.98.1*
>
>   [OVERALL], RunTime(ms), 385273.0
>   [OVERALL], Throughput(ops/sec), 25955.621079078992
>   [READ], Operations, 10000000
>   [READ], AverageLatency(us), 1218.9608977
>   [READ], MinLatency(us), 296
>   [READ], MaxLatency(us), 1128785
>   [READ], 95thPercentileLatency(ms), 1
>   [READ], 99thPercentileLatency(ms), 3
>   [READ-MODIFY-WRITE], Operations, 5001281
>   [READ-MODIFY-WRITE], AverageLatency(us), 1226.2466698031965
>   [READ-MODIFY-WRITE], MinLatency(us), 300
>   [READ-MODIFY-WRITE], MaxLatency(us), 1129077
>   [READ-MODIFY-WRITE], 95thPercentileLatency(ms), 1
>   [READ-MODIFY-WRITE], 99thPercentileLatency(ms), 3
>   [UPDATE], Operations, 5001313
>   [UPDATE], AverageLatency(us), 4.26973976633736
>   [UPDATE], MinLatency(us), 1
>   [UPDATE], MaxLatency(us), 120701
>   [UPDATE], 95thPercentileLatency(ms), 0
>   [UPDATE], 99thPercentileLatency(ms), 0
>
>
> --
> Best regards,
>
>    - Andy
>
> Problems worthy of attack prove their worth by hitting back. - Piet Hein
> (via Tom White)
>