《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > 基于Red5服务器集群负载均衡调度算法研究
基于Red5服务器集群负载均衡调度算法研究
来源:微型机与应用2013年第21期
张亚波,苏 艺
(四川大学 计算机学院,四川 成都 610065)
摘要: 基于动态负反馈的机制,参考现有的加权最小连接数调度和轮转调度算法,设计出了改进后的负载均衡调度算法。通过负反馈机制计算每台服务器的综合负载权重值,而综合负载权重值直接体现着服务器的当前处理能力。调度服务器根据综合负载权重值分配工作负载,实现负载的均衡分布。
Abstract:
Key words :

摘  要: 基于动态负反馈的机制,参考现有的加权最小连接数调度和轮转调度算法,设计出了改进后的负载均衡调度算法。通过负反馈机制计算每台服务器的综合负载权重值,而综合负载权重值直接体现着服务器的当前处理能力。调度服务器根据综合负载权重值分配工作负载,实现负载的均衡分布。
关键词: Red5流媒体服务器;集群技术;负载均衡

1 常用负载均衡算法
 常见的负载均衡调度算法有:轮转调度算法、加权轮转调度算法、最小连接数调度算法、加权最小连接数调度算法、目标地址哈希散列调度算法、源地址哈希散列调度算法等[1]。
下面主要介绍轮转调度算法和加权最小连接数调度算法的思想。
 (1)轮转调度算法[2]
轮转调度算法平等地对待集群中各个服务器,认为所有服务器具有相同的处理性能。此算法将所有的n台服务器当作一个任务队列,当一个新的用户连接请求到来时,执行i=(i+1)modi,然后分配任务给第i台服务器。
 (2)加权最小连接数调度算法[3]
 加权轮转调度算法是轮转调度算法的改进,加权最小连接数调度算法是最小连接数调度算法的进一步改进,它很好地改进了最小连接数调度算法无法很好地处理集群中服务器间处理性能差异较大的缺点。即此时满足条件的服务器就是集群中正在处理的请求连接数与自身权值的比值最小的服务器,就认为它是当前负载最小的服务器,负载均衡器就会把新的请求连接交给这台服务器来处理。
2 动态反馈机制
 负载均衡调度服务器收集负载信息的本质,就是每台服务器节点将自身的负载情况反馈给调度服务器的过程。这就是动态反馈机制[4],如图1所示。

 图1中,W为服务器更新之前状态时的权值,集群中每台服务器节点都会定期与调度服务器交互,将自身的负载信息情况反馈给调度服务器。在负载均衡调度服务器上,根据设计好的算法F()将这些负载信息进行处理,重新调整当前情况下服务器的新权值W′,然后更新负载信息表,这样能够更好地反映出当前服务器的负载情况。
3 动态负反馈机制负载均衡调度算法
3.1 流媒体服务器综合权值的计算

 借鉴加权最小连接数调度算法的思想,应该为每台流媒体服务器设定一个综合权值。计算综合权值所需要的指标如下[5]:
 SCPUi:代表集群中第i台流媒体服务器的CPU使用率;
 SMemi:代表集群中第i台流媒体服务器的内存使用率;
 SNeti:代表集群中第i台流媒体服务器的网络带宽占用率;
 SDiski:代表集群中第i台流媒体服务器的硬盘I/O占用率;
 SRoomi:代表集群中第i台流媒体服务器的聊天室数量占用率。


 (1)Red5流媒体服务器开始运行后,将加入到集群中,同时会在负载均衡调度服务器上进行注册,将自身相关信息(IP、提供服务的端口号等)发送给调度服务器;
 (2)调度服务器周期性地与每台流媒体服务器交互(设定周期时间为10 s),采集负载信息。在流媒体服务器上,负载信息收集线程收集实时负载,通过式(2)计算实时负载Loadi,并将Loadi发送给调度服务器;
 (3)调度服务器与流媒体服务器之间通过心跳检测进行检测,如果3 min内调度服务器未收到流媒体服务器的心跳,则该服务器不可用;
 (4)如果当前流媒体服务器上某个负载评估指标超过设定的负载上限阈值,发送过载通知;
 (5)调度服务器将维护一张综合负载权重值表,在收集并计算每台流媒体服务器的综合负载之后,通过式(9)计算出综合负载权重值W′i,更新表中数据;
 (6)根据新的权值,调度服务器将所有正常工作的服务器按照权值从高到低分为三组;
 (7)新的请求到来时,根据步骤(6)中所分出的权重值最大的一组,依照轮询调度算法思想分配任务;
 (8)判断是否是新的采样周期,如果不是则继续步骤(7),否则转向步骤(2);
 (9)如果当前没有合适的服务器,则暂时停止响应用户请求,通知用户等待。
4 算法测试与分析
 评价集群系统整体性能有一个重要的参数指标:平均响应时间。测试所用环境如表1、表2所示。

 根据表3的数据,在并发请求数量不是很多的情况下,两种算法的平均响应时间差不多。当并发量逐渐增大后,这时改进算法的效率明显优于加权最小连接数调度算法。
 集群系统的稳定性也是必须需要考虑的问题。当采用加权最小连接数调度算法时,每台Red5流媒体服务器的负载情况变化如图2所示(采样周期为10 s)。

 从图2和图3可知,改进的负载均衡调度算法很好地保证了整个集群的负载均衡,同时也能很好地处理当大量并发请求到来时的情况。
 本文通过在轮转调度算法和动态加权最小连接数调度算法的基础上,设计了一种基于动态负反馈机制的负载均衡调度算法,能够更好地考虑到集群中每台流媒体服务器的处理性能,达到更好地负载均衡效率。而通过实验对比,可知改进的负载均衡调度算法具有更短的平均用户响应时间,也能保证集群长时间的稳定运行,能够达到负载均衡的目的。
参考文献
[1] 买京京.Web服务器集群负载均衡技术研究[D].太原:中北大学,2008.
[2] 童瑞霞.基于动态反馈机制的集群负载均衡算法研究[D].武汉:武汉理工大学,2011.
[3] 秦晓晨.基于动态负载均衡技术的培训系统的设计与实现[D].西安:西安电子科技大学,2012.
[4] 陈广东.流媒体服务器集群负载均衡算法研究[D].武汉:华中师范大学,2007.
[5] 张洪武.服务器集群与均衡技术研究[D].重庆:重庆大学,2005.

此内容为AET网站原创,未经授权禁止转载。