本研究针对HBase 0.94.* 及以上版本的系统。
RegionServer
本目标主要集中分析在RegionServer提供的相关Metrics接口。在0.94新版本中,Metrics包括:RegionServerMetrics、JvmMetrics、以及RegionServerDynamicMetrics。下面分别进行介绍。
1、RegionServerMetrics
这是延续了以前版本的Metrics。它主要是以RegionServer为单位的基本功能的监控信息的收集,主要包括:
1)通用信息的收集。例如RS内store个数、storefiles的个数等。
2)与RS整体读写性能指标相关的参数。例如Cacheblock相关的信息、RS内读写请求个数、写操作相关的性能、以及读操作相关的性能。
3)功能性调整的参数个数。如Compaction、Split等。
下面细化这些参数的含义。(ps:参数名省略了前两位的hbase.regionserver.,例如如果blockCacheCount,那么Metrics上实际名字是hbase.regionserver.blockCacheCount)
- 与BlockCache相关的参数。
参数名 | 含义 | 备注 |
---|---|---|
blockCacheCount | RegionServer中缓存到blockcache中block的个数。 | 如果有大规模的scan操作或者随机读比较频繁,该值往往偏高。 |
blockCacheFree | 返回block cache中空闲的内存大小。计算方法为:getMaxSize() – getCurrentSize(),单位是Byte | 该值反映出当前BlockCache中还有多少空间可以被利用。 |
blockCacheSize | 当前使用的blockCache的大小。BlockCache. getCurrentSize(),单位是Byte | 该值反映出BlockCache的使用状况。 |
blockCacheHitCount | 被BlockCache命中的getBlock操作。 | 该值反映出RegionServer上Region的访问特性。 |
blockCacheMissCount | BlockCache未命中的getBlock操作。 | 该值反映出RegionServer上Region的访问特性。 |
blockCacheEvictedCount | BlockCache中被换出的Block的个数。 | 该值反映出RegionServer上Region的访问特性。 |
blockCacheHitRatio | getBlock操作中命中缓存的百分比。 | 该值越高,对于读服务就更加高效。这是优化读服务的一种衡量标准。 |