论文部分内容阅读
在互联网时代,个人电脑以及手持设备普及程度越来越高,这样就使得对于信息的快速处理和设备之间的交互的需求日益增长。为了满足这种增长需求,不仅要考虑到服务的安全可靠,也要考虑到服务的及时响应,所以这就给现存的服务器提出了越来越高的要求。研究负载均衡技术显得尤为重要,而Nginx作为具有高性能的HTTP和反向代理服务器,已经在很多研究者为了解决服务器高负载的课题中收到了青睐。本文首先介绍了Web服务器集群和Nginx的相关技术,重点分析了Nginx系统模块架构以及进程工作原理,以及对于Nginx自带的加权轮询算法、最少连接数、IP_HASH算法和URL_HASH算法进行有优劣比较。针对它们的缺点,在Nginx原加权轮询算法的基础上提出了通过在过去一段时间内大量的集群服务器节点的资源利用率和对于请求的响应时间作为参数,再根据层次分析法分析不同参数的比重,最后构建综合负载权重计算函数。对综合负载权重构建矩阵,将服务器集群总体的平均综合负载权重作为阈值作为是否启动修改有效权重的第一条件,动态地将服务器负载信息引入到Nginx原加权轮询对各服务器地权重修改过程中,从而实现了动态自适应地负载均衡策略,提高系统地平均响应时间和吞吐量,增强了系统性能。最后,设计了对比试验,对Nginx原有加权轮询策略以及本文所提出动态策略进行一系列性能方面的测试。实验结果表明,在负载较高的情况下,本文所提出的负载均衡策略具有明显的优势,在负载较低的情况下,两种策略算法性能差异不大。本文所提出的动态负载均衡策略有如下几个特点:(1)对服务器的性能参数进行收集,参数包括各CPU、网络带宽占用率、内存使用情况等。分析用户请求类型,采用层次分析法获取负载函数的权向量,构建综合负载权值评估函数,根据评估函数来对节点进行权重方面的赋值,这样使得赋值更具科学性,相比于固定式权重,本文提出的动态策略能对实时数据情况有更好的考量。(2)可以动态地调节权重,当判断需要对权值进行修改时,系统会设定一个阈值,作为启动修改权重流程的临界值,然后系统会根据搜集最近一段时间内集群所有后端服务器集群中各节点在处理请求的综合负载权值构建矩阵,计算出方差,它反映了该节点的负载情况,并将该方差对结点的有效权重进行动态更新。