背景
hbase2.0已经正式发布,对比之前1.x版本,2.0在读写链路上做了完善的优化,offheap、netty rpc等,这里做个小测试实验对比1.x和2.0在读写上的延时情况。本测试基于特定测试环境与软件版本得到的结果,仅供参考。测试介绍
测试环境
HBase2.0集群,2副本DataNode,单regionserver,便于线性扩展,集群的配置 8core x 16G内存;
4 x 250G ssd云盘;
情况简介
读写,1KB,数据,分有cache的读(命中近100%),无cache读;
scan:无cache的scan,有cache 的scan ;
预先分配60region
测试数据
单条读写的延时,99延时,磁盘的util,cpu的利用率,网卡占用率,gc的时间;对于99延时的话,查看gc的频率,进行调整。大块数据的直接升到年老代等;
步骤,先是把没有做调优的性能数据丢出来,完成以后,在就99延时做调优,主要关注网络以及gc的信息;
测试结果
调优的涉及:offheap,netty server访问,g1 gc 修改。
case | 调优点 | 99延时 1.1版本(99.9延时) /1.4.4版本99延时(99.9延时) | 99延时2.0开启优化(999延时) | 单条延时1.1/1.4.4 | 单条延时优化2.0 | 1.1 rps/1.4.4 | 2.0rps |
---|---|---|---|---|---|---|---|
写 sync 1 | offheap开启 | 410.840ms(1156.452ms)/392.422ms(510.943ms) | 22.634ms(50.184ms) | 43.06ms/42.62ms | 7.65ms | 4616/ 4752 | 26133 |
写 sync 2 | offheap开启 | 382.196ms(617.041ms)/337.391ms(499.595ms) | 31.038ms(61.771ms) | 28.03ms/13.74ms | 5.5ms | 7172/14023 | 36085 |
写 sync 100 | offheap开启 | 164.400ms(820.500ms)/64.055ms(460.636ms) | 22.625ms(422.554ms) | 5.62ms/3.01ms | 3.07ms | 34956/63621 | 67824 |
读无cache | offheap开启 | 424.796ms(1071.ms)/292.628ms(801.108ms) | 185.674ms(622.890ms) | 54.63ms/27.50ms | 11.64ms | 3022/7222 | 14548 |
读大部分cache | offheap开启 | 80.200ms(105.828ms)/26.900ms(58.095ms) | 17.893ms(31.755ms) | 6.30ms/4.98ms | 4.80ms | 31616/39802 | 41805 |
scan 无cache | offheap开启 | 2529.507ms(5736.35sms)/2311.319ms(3204.116ms) | 1609.485ms(3441.447ms) | 1057.09ms/535.72ms | 388.463ms | 186*100/387 *100 | 515*100 |
scan 命中cache | offheap开启 | 2452.913ms(3472.019ms)/450.97ms(629.903ms) | 363.358ms(537.894ms) |
|
|
|
|
测试小结
hbase2.0在读写链路上进行了完善的优化,相比1.1、1.4.4 版本,在延时方面有了比较大的成果。本测试基于特定测试环境与软件版本得到的结果,仅供参考。更多2.0特性优化,钉钉扫描下方二维码关注hbase技术交流群了解更多。
最后播报一下,云HBase2.0 在2018年6月6日将正式发布,点击了解更多