背景
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 修改。
99延时:offheap,g1 gc 默认开启,默认netty 开启;25MB 带宽峰值,主要做对比!
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日将正式发布,点击了解更多