论文部分内容阅读
在大量的并发请求中,采用多服务器集群技术能够有效地处理请求,提高服务器整体的处理能力。作为核心,负载均衡肩负着合理分发请求,提高服务器整体性能的使命,具有举足轻重的作用。目前,在解决并发Web服务器的技术中,Nginx具有并发处理的能力强,可伸缩性良好等特点,使其得到了诸多关注、研究及应用。本文基于Nginx负载均衡算法研究,创新性地提出两种可行而有效的改进算法,主要研究工作如下:1、对于Nginx默认负载均衡策略尚未将Web服务器集群的负载无法完全应对服务请求总是处于变化的情况纳入其考虑范围之内的问题,创新性地提出了MRD策略,其主要思路是为了尽可能地缓解负载均衡的处理压力,可通过使负载变化率和负载上报周期得以有效控制的方法,让后端Web服务器负载信息少一些上报。通过将MRD策略与Nginx加权轮询及“rt_dyn_load算法”进行了实验对比,结果表明,在处理请求时,该策略能够先行判别集群的负载状态,根据各个负载状态的压力情况,再遴选最佳的后台服务器,进而使Web服务器集群的平均时延得到有效的降低,从而使系统平均吞吐量得到显著的提升。2、针对MRD策略在未超过阈值的情况下采用加权轮询,而加权轮询存在着很多弊端的情况下,通过分析Nginx源码,提出了一种基于轮询的动态负载均衡算法(DWRS)。该算法除了可对客户端的负载请求进行实时收集与处理以外,其特点是能过将这些请求进行有效的分类,并将其转化成与之相对的权值,最后依据权值大小来分配请求。在Linux系统下通过搭建异构集群对该算法及Nginx内置的三种负载均衡策略进行测试,实验结果表明,该算法确实在平均响应时间和实际并发数两个性能指标上要优于Nginx内置的负载均衡策略。3、将本文提出的DWRS与MRD策略进行比较,通过实验数据说明,在追求处理速度的情况下DWRS占有绝对的优势;但在平均吞吐量方面则MRD较好。