一种提高Nginx服务器负载均衡效率的方法

文档序号:8266057阅读:245来源:国知局
一种提高Nginx服务器负载均衡效率的方法
【技术领域】
[0001] 本发明涉及一种提高Nginx服务器负载均衡效率的方法,属于计算机网络信息技 术领域。
【背景技术】
[0002] 随着网络服务的日趋完善,我们在获得方便的同时,也面临着巨大的挑战,并发业 务访问数量的直线增长,是对网络中的Web服务器工作能力的严峻考验。采用多服务器集 群技术是解决上述问题的有效方案,而负载均衡是集群技术的核心问题。负载均衡能够将 大量的并发访问请求合理地均分到集群内的各后端服务器上进行处理,有效地避免了单一 服务器数据流过大的问题,同时能够使各个后端服务器的资源得到均衡的使用。负载均衡 包括硬件和软件两种类型,硬件的成本高昂,软件的负载均衡配置部署灵活,越来越受到人 们的亲睐。
[0003] 软件负载均衡常用的是Nginx。Nginx是一种高性能的HTTP和反向代理服务器。 反向代理是指以代理服务器来接收Internet上的连接请求,运用均衡策略将请求分发给 内部网络上的服务器集群,并将从服务器集群上得到的结果返回给Internet上发出连接 请求的客户端。
[0004] 当前Nginx默认采用的是Nginx官方设计的加权轮询负载均衡调度策略,加权轮 循算法是在轮循算法的基础上为每台服务器赋一个权值,这个权值表示的是后端服务器 的信息处理能力,Nginx依照权值为每台后端服务器分配不同数量的任务,权值越重分配的 任务量越大,最终各后端服务器分配的任务量趋于其权重比值。
[0005] Nginx官方设计的加权轮询负载均衡调度策略,没有考虑运行过程中服务器集群 内各个后端服务器的实时负载状态,无法实现根据并发业务量动态的向服务器分配任务, 也就无法实现对Web服务器的充分利用,负载均衡的效果并不理想。

【发明内容】

[0006] 针对现有技术的不足,本发明提供一种提高Nginx服务器负载均衡效率的方法。 该方法是在传统加权轮询负载均衡调度策略的基础上进一步考虑各后端服务器的实时负 载状态,根据各后端服务器自身的信息处理能力及实时负载状态分配各个服务器的任务 量,使任务量的分配更均衡,提高了 Nginx服务器负载均衡效率。
[0007] 本发明的技术方案如下:
[0008] -种提高Nginx服务器集群负载均衡效率的方法,包括步骤如下:
[0009] 1)在Nginx服务器的主配置文件中配置后端服务器的初始权值Wi;
[0010] 全文中,i是服务器的标号,i e [1,N],N表示后端服务器的个数;
[0011] nginx. conf是Nginx服务器的主配置文件,Nginx服务器的负载均衡策略也配置 在此文件中,假设后端服务器集群S = [S1, S2, ...,Sn]。
[0012] 2)更新后端服务器动态负载量Dti:
[0013] 获取各后端服务器的最近η次响应时间序列并构成二维数组Rt = [Rt1, Rt2,... ,Rti,. . .,RtN]T,其中Rti= [t n, ti2,. . .,tin] !Rti是第i个服务器提供的最近11次服务,每 次服务响应时间b所构成的一维数组;
[0014] η次响应时间序列」
【主权项】
1. 一种提高Nginx服务器集群负载均衡效率的方法,包括步骤如下: 1) 在Nginx服务器的主配置文件中配置后端服务器的初始权值Wi; 全文中,i是服务器的标号,ie[1,N],N表示后端服务器的个数; 2) 更新后端服务器动态负载量Dti: 获取各后端服务器的最近n次响应时间序列并构成二维数组Rt= [Rh,Rt2,. ..,Rb?..,RtN]T,其中Rh=[tn,ti2,...,tin] ;Rti是第i个服务器提供的最近n次服务,每次服 务响应时间b所构成的一维数组; n次响应时间序列
计算lastreptime= [tn,t21, . . . ,tN1]的平均值
;lastreptime 是各后端服务器最近一次的响应时间构成的一维数组;计算第i个后端服务器Si的动 态负载量Dtp
,其中^表示第i个服务器n次响应时间的平均值,
N个服务器的动态负载量构成数组」
;其中,je[l,n]; 3) 比较服务器Si最近一次响应时间tn与
将满足条件
的31进行步骤4),若没有满足条件
的51重 新回到步骤2); 4) 更新Nginx服务器的加权轮询计算参数: 更新Nginx服务器中后端服务器Si的动态参数:动态有效权值Ewi=W3心,当前权值CWi+ =Ewi;初始状态Ewi=WpCWi= 0 ;总权值Tw+ =Ewi; 5) 选择提供服务的后端服务器: 对步骤4)中得到的当前权值CWi按大小进行排序,将当前web请求分发到Cwi最大的 后端服务器,提供web请求响应; 6) 重复步骤2)-5)。
2. 如权利要求1所述的提高Nginx服务器集群负载均衡效率的方法,其特征在于:步 骤5)中(^最大的后端服务器的个数大于1时,在Cwi最大的后端服务器中选择初始权值 11最大的后端服务器提供服务。
3. 如权利要求1所述的提高Nginx服务器集群负载均衡效率的方法,其特征在于:步 骤1)在Nginx服务器的主配置文件中配置后端服务器的初始权值1的方法是,根据各后 端服务器的物理性能将后端服务器的初始权值分别设为I,并组成一维数组W= [Wi,W2,.. ?,? ? ?,WN]。
【专利摘要】本发明提供一种提高Nginx服务器负载均衡效率的方法。该方法是在传统加权轮询负载均衡调度策略的基础上进一步考虑各后端服务器的实时负载状态,根据各后端服务器自身的信息处理能力及实时负载状态分配各个服务器的任务量,使任务量的分配更均衡,提高了Nginx服务器负载均衡效率。
【IPC分类】H04L12-803, H04L29-08
【公开号】CN104580538
【申请号】CN201510073626
【发明人】袁东风, 王利萍, 刘萍
【申请人】山东大学
【公开日】2015年4月29日
【申请日】2015年2月12日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1