接下来看看实际指标的计算方法。
首先是负载值的定义。考虑到单机指标太多,业务复杂,所以一律是用百分比来反映负载状况。如10%负载、80%负载、200%负载等。这样单位统一直观。而不需要去考虑具体单位和具体数值。以CPU使用率为例,假设当CPU使用率为80%的时候,负载为100%,那么将80定义为CPU使用率的基准值,当CPU使用率为40%的时候,计算出来的负载为50%,而当CPU使用率为100%时,计算出来的负载为125%。同样其他指标需要定义一些基准值做为负载100%的值。例如百M网卡定义80M为100%负载等。
这样单机所有基础指标均可以使用百分比表示,CPU使用率、内存使用率、磁盘I/O、磁盘空间使用率、网卡出入包量、网卡出入流量等均换算成负载比例,根据设备所属类型(WEB、DB、CACHE、逻辑等)设计权重结合计算公式得到单机负载值,如:
单机负载 = AVG(CPU使用率*权重/CPU使用率基准,出流量*权重/出流量基准…);
实际上单机负载的作用只在于计算高负载设备数。因为这样的计算方式累加到集群中的负载值误差会偏大。为了修正这一问题,引入集群指标负载的概念,即:集群的CPU使用率负载、集群流量负载等,由于同一集群的各项指标较相近,这样将同类型指标进行叠加,减少误差,其公式如下:
集群CPU使用率负载 = AVG(设备1CPU使用率/CPU使用率基准,设备2CPU使用率/CPU使用率基准,…);
从业务结构上看,会有如下关系图:
逻辑结构示意图
以上为现阶段使用的计算关系图,还有另外一种误差较大的关系图如下:
单机管理关系图
上图设备负载计算主要用于单机负载管理上,实际从单机负载直接计算集群负载的误差会较大,所以一般会采用前一种计算逻辑。不过视图2还能较为直观反映某一集群的负载均衡问题。
出处:蓝色理想
责任编辑:bluehearts
上一页 WEB监控体系之设备负载监控 [1] 下一页 WEB监控体系之设备负载监控 [3]
◎进入论坛网络编程版块参加讨论
|