嵇小飞

摘 要:基于LVS的Web服务器集群负载均衡默认的加权最小连接调度算法,提出后端服务器主动反馈负载,负载均衡器基于任务的权值分配调度的策略。针对Web服务器集群系统内部的动态自适应负载任务均衡调度策略,能够有效加速Web服务器响应速度、提升集群系统性能,简化调度过程,提高吞吐率。

关键词:服务器集群;负载均衡;自适应

中图分类号: TP393.09 文献标识码: A 文章编号: 1673-1069(2016)17-153-2

0 引言

通常情况下,服务器集群中的网页查询任务采用的手段是动态嵌入对象,面对不同量或者类型的任务,服务器的负载量存在10-100倍的差异,对分布式系统的处理能力的有效利用能够保证多台服务器联合工作时负载的均衡。而一个良好的负载均衡手段能够最大程度的减少执行时间,计算机传输数据的开销,并根据服务器处理能力的不同分配相应的任务,使各个服务器的处理能力能够最大化的得到利用。

1 LVS集群负载均衡策略

国防科技大学的章文嵩率先提出了一种有效的负载均衡策略——LVS,通过后来不断地改进,该负载策略已经被广泛地运用在高性能的负载均衡系统中。随着网络技术的发展,客户端的任务请求数量逐渐增大,服务器端将会出现大小不一的负载量,传统的服务器技术难以及时地对客户的请求做出响应。搭建CentOS操作系统的LVS(LinuxVirtualServer)集群,Linux系统中自带有负载均衡策略,因此能够均衡不同用户的不同类型或者不同量的任务。集群技术的运用在一定程度上提高了数据检索的效率,减少了系统响应用户请求的时间。实际开发过程中,对服务器使用最小连接策略进行加权,依靠IPVS来实现负载均衡调度的实现,进而完成基于数据检索的Linux集群系统。不同服务器端的权值是其任务处理能力的衡量指标,一般情况下将权值定义为服务器端的性能与当前系统任务数的比值。该均衡调度对服务器分配任务主要依靠的是服务的任务处理能力和其连接的任务数,如果任务分配过于密集将会导致负载均衡器过载,出现阻碍系统运行的瓶颈。

LVS算法只将当前服务器链接的任务数量,但是仅仅用服务器当前的任务数量反映服务器的真实负载状况。因此为了更加准确地对服务器的负载情况进行分析,还需要对系统的性能、相应时间、开发费用等参数进行剖析,真正做到将服务器集群的运行效率提高。负载均衡器对服务器节点的任务处理能力以及各个服务器的负载状况的获取过程将对后续任务的均衡分配产生十分重要的影响。新兴的调度算法描述服务器的负载状况使用了两个指标,一是CPU的占有率;二是内存的空闲率。在进行任务分配前,不但要考虑服务器的处理能力不同,还需要考虑服务器的性能,进而保证集群服务器整体的效率最大化;为了更好地处理任务,服务器系统应当具有一定的伸缩性,当实际任务过多时,集群系统应该根据实际情况适量地增加服务器;此外,集群系统还应当具备负载的转移能力,当服务器连接的任务过多时,可以按照某种规则转给较闲的服务器。

2 动态自适应反馈的负载均衡策略

具有动态自适应的负载调度需要综合考虑服务器自身处理任务的性能和服务器节点链接的任务量两个指标。每个服务器叶子点能够根据已有的规则对自身的负载信息进行收集,并及时地将所收集的信息发送到负载均衡器上。使用动态的推送信息搜集服务器的负载信息,相对于负载均衡器主动去收集的方式而言,能够有效降低通信的开销,为负载均衡器减少负担。

分层负载均衡能够保证叶子节点同时并行处理,同时还能够保证真实事务服务器完全分布。另外,分层负载均衡为更高层次的负载均衡器提供使用聚合信息,对所连接的负载的改变能够及时做出应答。为了使集群系统中的信息流量减少,防止出现调度瓶颈,对处理器中的信息进行分组(簇),并把每簇中涉及到的服务器进行平行分层处理。此处理方法的主要目的是将主服务器的任务转移给一簇服务器,使该簇服务器成为“监督员”。 “监督员将对自己所获得的任务进行进一步的划分,并将划分的子任务分配给相应的叶节点,并对叶节点的处理结果进行收集。但是需要注意的是,分层方法虽然被广泛运用于线性阵列和树形拓扑结构,但若拓扑结构相对复杂,则分层方法将会失败。

2.1 自适应负载均衡

同一集群系统中的不同人物需求所需要的计算机的开销不同,由于不同用户对计算机的性能要求不同,并且所需要完成的任务也有所不同,因此常将用户任务分为两类:实时输入输出任务和实时CPU消耗型任务;使得最小连接调度算法进一步减小,产生均衡负载的新算法。

2.2 负载均衡流程

①二叉树排序算法主要是对负载的冗余值进行排序。如各个服务器的负载冗余值将会被负载均衡器收集并循环遍历,当某个服务器的负载冗余值超过最低限度时,便将此服务器入树,并构建二插排序树。②二叉排序树遍历。对二叉排序树进行中序遍历,形成一个递增的数列,服务器性能衡量指标(权值)将形成一个大小依次排列的序列。③任务分配。对服务器节点中序遍历后,按照服务器的现状和性能进行任务的分配,完成任务分配之后,各个服务器的负载值及其冗余值将会发生改变。

2.3 动态自适应反馈的负载均衡策略性能分析与评估

面向集群系统的负载均衡技术能够在整体上提升系统的性能,减少任务的响应时间,单个服务器的工作效率有所提高,整个系统的任务响应时间也将会提高。对于单片机系统而言,缓存方法是最好的改进系统性能的移植方法,结合缓存和传统的算法进行缓存结构的设计和实现,能够很好地改善服务器的运行时间。为测试系统效率,搭建3台服务器节点,采用基于直接路由方式构建Linux虚拟服务器集群,采用WAS(MicrosoftWebAp-plicationStressTool)作为模拟用户压力的测试工具,选择加权最小连接调度(wlc)算法作为对比其系统响应时间。实验依次以100、200到700的用户请求分7组进行模拟测试。

3 结束语

由于传统的Web集群负载均衡算法使用的是加权最小链接调度算法,因此可能出现负载不均衡的现象。为此在传统的加权调度算法的基础上,对原有的LVS算法进行了改进和优化。本文首先对传统的负载均衡算法的权值进行了重新分配,负载均衡器对各个服务器的CPU利用率和内存空闲率进行收集,确定新权值并传送到均衡器中,均衡器将根据新的权值进行任务的分配。其次,本文提出了动态自适应反馈的策略,为了减少均衡器的负担,采用的是服务器主动向均衡器主动反馈负载信息的方法。

参 考 文 献

[1] 邓珍荣,唐兴兴,黄文明,李寅威.一种Web服务器集群负载均衡调度算法[J].计算机应用与软件,2013(3010):

53-56+101.

[2] 杨越,闫连山,张志勇,李赛飞.面向集群服务器大规模并发的改进负载均衡调度系统[J].微电子学与计算机,

2013,30(35512):54-56+60.

[3] 任侠.基于动态自适应负载均衡的服务器集群优化策略[J].工业控制计算机,2015(2812):38-39+41.

[4] 单志广,林闯,魏丫丫.广域Web集群的随机高级Petri网模型及性能分析[J].系统仿真学报,2003,S1:93-98.