背景
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 | 382.196ms(617.041ms)/337.391ms(499.595ms) | 31.038ms(61.771ms) | 28.03ms/13.74ms | 5.5ms | 7172/14023 | 36085 | |
寫 sync 100 | 164.400ms(820.500ms)/64.055ms(460.636ms) | 22.625ms(422.554ms) | 5.62ms/3.01ms | 3.07ms | 34956/63621 | 67824 | |
讀無cache | 424.796ms(1071.ms)/292.628ms(801.108ms) | 185.674ms(622.890ms) | 54.63ms/27.50ms | 11.64ms | 3022/7222 | 14548 | |
讀大部分cache | 80.200ms(105.828ms)/26.900ms(58.095ms) | 17.893ms(31.755ms) | 6.30ms/4.98ms | 4.80ms | 31616/39802 | 41805 | |
scan 無cache | 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 | 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日将正式釋出,
點選了解更多