摘要: 背景 hbase2.0已經正式發佈,對比之前1.x版本,2.0在讀寫鏈路上做了完善的優化,offheap、netty rpc等,這裏做個小測試實驗對比1.x和2.0在讀寫上的延時情況。本測試基於特定測試環境與軟件版本得到的結果,僅供參考。
背景
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技術交流羣瞭解更多。