服务器 频道

新方法:提高Web集群服务器可用性

试验测试

    设计一个试验环境,结构如图1所示。所有的计算机使用10Mbps交换机相连。所有节点运行操作系统Linux 9.0内核是2.4.20-8。

    硬件配置:负载均衡器与2个后端节点的CPU为AMD xp2000+,内存256MB;两个客户端P Ⅲ 800MHz 内存128MB。

   为了模拟后端节点达到最大的连接数,把客户端1的IP设置为集群的内部IP,如表1 。这样客户端1可以不经过负载均衡器,向某个后端节点发送请求。试验中,每隔5min使用Httperf向后端节点1发送请求,使后端节点1超载,持续10s。

表1  各节点的IP配置

     客户端2 使用Httperf向Web 集群服务器发送请求,请求速率采用固定的值,不能使Web 集群服务器超载,保证在集群服务器在不发生故障的情景下,httperf 测试的总请求数和响应数相等。在我们测试的环境下当后端节点发生故障,负载均衡器未屏蔽故障前,发送到该故障的服务器的请求,不会返回响应;当后端节点超载,负载均衡器未屏蔽故障前,会使部分请求丢弃部分,请求返回响应。所以可以通过响应的请求个数来计算MTTR 和MTBF, 计算公式如下:

MTBF= 总响应数 / 响应速率

    假设测试1h,那么1h 中的MTTR 为:

MTTR =1h - MTBF

    分别把改进方法和Mon加入到试验环境进行测试。Mon中的初始设置为http 服务的检测间隔为2s,并立即告知调度程序;改进方案设置与前面提到的一致。分别测试1h 的MTTR 分别为27.74s 和45.39s 。与Mon 相比,使用该改进方案,MTTR 减少了63% 这充分说明改进方法是非常有效的。

小结

     后端节点是集群服务器中请求的真正处理者,研究后端节点的故障修复对提高整个集群服务器的可用性非常重要。本文针对现有的故障检测后端节点的不足,提出了新的改进方案。在模拟环境下测试,我们的算法非常显著地减少了MTTR, 提高了后端节点的可用性,从而提高了整个集群服务器的可用性。

0
相关文章