CN106790381A - 基于加权最小连接的动态反馈负载均衡方法 - Google Patents

基于加权最小连接的动态反馈负载均衡方法 Download PDF

Info

Publication number
CN106790381A
CN106790381A CN201611045113.9A CN201611045113A CN106790381A CN 106790381 A CN106790381 A CN 106790381A CN 201611045113 A CN201611045113 A CN 201611045113A CN 106790381 A CN106790381 A CN 106790381A
Authority
CN
China
Prior art keywords
load
request
upstream server
server
upstream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201611045113.9A
Other languages
English (en)
Inventor
黄静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Sci Tech University ZSTU
Original Assignee
Zhejiang Sci Tech University ZSTU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Sci Tech University ZSTU filed Critical Zhejiang Sci Tech University ZSTU
Priority to CN201611045113.9A priority Critical patent/CN106790381A/zh
Publication of CN106790381A publication Critical patent/CN106790381A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于加权最小连接的动态反馈负载均衡方法,包括:(1)上游服务器的权值与连接阈值的初始化;(2)Nginx反向代理服务器接收客户端的请求,并进行连接数的判断和负载信息采集指令的发送;(3)上游服务器接收Nginx反向代理服务器的请求,并进行请求指令的解析和负载信息采集指令的反馈;(4)Nginx反向代理服务器接收上游服务器的请求响应,并进行负载信息的解析以及上游服务器实时权值的更新,最后将响应返回给客户端,该方法在不增加通信负载开销的基础上,实现服务器负载信息的动态反馈,提升负载分配的准确性。

Description

基于加权最小连接的动态反馈负载均衡方法
技术领域
本发明涉及一种在分布式并行计算机网络中的网络请求负载均衡分配算法,尤其是涉及一种基于加权最小连接的动态反馈负载均衡方法。
背景技术
随着计算机技术的发展,互联网的深度渗透,Web已经成为主要的内容服务形式,并极大促进了Internet用户剧烈增长和流量爆炸式增长。这也为Web服务器带来了巨大挑战。通过负载均衡技术,能有效缓解Web服务器在应对高并发、高访问量情景下的性能压力,提升Web服务器的服务质量。负载均衡技术能拓展现有的网络带宽、增加吞吐量、加强网络数据处理能力、提升网络的灵活性和可用性,有效解决数据访问和业务信息急剧增长给服务器带来的巨大处理压力。
负载均衡技术的实现主要取决于负载均衡调度策略或算法。常见的负载均衡算法包括轮询算法(Round Robin,RR)、加权轮询算法(Weighted Round Robin,WRR)、最小连接算法(Least Connection,LC)、加权最小连接算法(Weighted Least Connection,WLC)算法。其中RR、WRR为静态算法,静态算法的实现简单,分析运用方便,但是算法并行性较差,只在特定的情况下才能达到较高的效率;LC、WLC为动态算法,动态算法相比静态算法,性能可以提升40%左右,但是以连接为粒度来衡量服务器负载状况不够全面,不同连接对服务器产生的负载量存在差异。不论静态算法与动态算法,都仅从负载均衡器单方面衡量服务器负载状况,缺少获取服务器实时负载信息为依据进行负载分配。
动态负载均衡算法能最小化并行集群中应用服务的响应时间或执行时间,并且对解决高度并行系统中不可预测负载估计问题至关重要。为了更准确的、合理的分配客户端请求负载,不少学者对动态反馈负载均衡算法做了大量研究。龚梅等提出一种集群系统的透明动态反馈负载均衡算法,基于LVS下行同步信号周期性采集服务器多种负载信息,并引入负载容余进行反馈调节。该算法虽然解决了动态反馈问题,却因周期性采集,增加负载采集通信开销。王玥等提出一种旨在最小化负载均衡开销的动态自适应算法,着重考虑CPU间消息发送、接受的数量,缺乏对服务器负载信息的全面描述。Ren等通过添加单指数平滑预测机制,改进加权最小连接算法,以降低服务器负载倾斜,该算法通过历史数据进行预测,缺乏与服务器的实时动态反馈。
集中式动态负载均衡算法在均衡负载过程中引入了影响整体性能的通信负载开销,但降低了算法的可行性。
因此本研究基于Nginx反向代理构建Web服务器,为优化服务器性能,对动态负载均衡算法进行研究,提出一种基于加权最小连接,结合Nginx的upstream机制的动态反馈负载均衡算法,
发明内容
本发明提出了一种基于加权最小连接的动态反馈负载均衡方法,该方法在不增加通信负载开销的基础上,实现服务器负载信息的动态反馈,提升负载分配的准确性。
本发明一种基于加权最小连接的动态反馈负载均衡方法,包括用户请求的接收,请求包的再封装,请求包的解析,负载信息的采集以及相应包的再封装,利用用户与服务器的通信链路进行指令与负载信息的传递,避免了为采集负载信息额外增加的通信开销,包括以下步骤:
(1)上游服务器的权值与连接阈值的初始化;
(2)Nginx反向代理服务器接收客户端的请求,并进行连接数的判断和负载信息采集指令的发送;
(3)上游服务器接收Nginx反向代理服务器的请求,并进行请求指令的解析和负载信息采集指令的反馈;
(4)Nginx反向代理服务器接收上游服务器的请求响应,并进行负载信息的解析以及上游服务器实时权值的更新,最后将响应返回给客户端。
步骤2的具体步骤为:
(2-1)Nginx反向代理服务器接收客户端的请求,并利用加权最小连接算法得到请求分配前的当前最佳上游服务器节点p;
(2-2)判断当前最佳上游服务器节点p的连接数是否大于所设连接阈值,若否,执行步骤(2-3)若是,执行步骤(2-4)和步骤(2-5);
(2-3)Nginx反向代理服务器将客户端请求打包后发送至上游服务器;
(2-4)Nginx反向代理服务器通过upstream机制向选择的上游服务器节点创建连接,并将负载信息采集指令填入连接的请求包头;
(2-5)Nginx反向代理服务器将带有负载信息采集指令的请求包头发送至上游服务器。
步骤3的具体步骤为:
(3-1)当前最佳上游服务器节点p接收Nginx反向代理服务器的连接请求,并进行请求包头的解析;
(3-2)判断请求包头中是否含有负载信息采集指令,若否,执行步骤(3-3),若是,执行步骤(3-4)和步骤(3-5);
(3-3)上游服务器完成客户端动态请求后,将响应转送至Nginx反向代理服务器;
(3-4)上游服务器中的信息采集器进行负载信息采集,依据动态负载指标模型进行负载信息的计算,并进行归一化成负载率(LoadRate),并将负载率填入响应包头;
(3-5)上游服务器完成客户端动态请求后,将载有负载率的响应转送至Nginx反向代理服务器。
在步骤(3-4)中,采集的负载信息包括CPU负载率、内存占用率、磁盘占用率以及网络带宽占用率。
步骤4的具体步骤为:
(4-1)Nginx反向代理服务器接收上游服务器的请求响应,进行响应包头的解析,当解析到负载率时,执行步骤(4-2),否则,执行步骤(4-4);
(4-2)判断负载率是否大于设定的负载阈值,若是,执行步骤(4-3)和步骤(4-4);若否,执行步骤(4-4);
(4-3)进行当前上游服务器实时权值的更新,减去节点的静态权值,移除载有负载率的响应包头;以达到负载均衡的效果;
(4-4)上游服务器将响应返回给客户端。
在步骤(4-2)中,负载阈值的取值范围为0.5~0.7。
本发明中,Nginx反向代理服务器负责采集指令的发送,动态权值的修改;上游服务器负责负载信息的采集。
采集指令:用于Nginx向上游服务器发送采集负载信息指令。
负载率:由动态负载指标模型计算而得,用于描述上游服务器节点实时的负载情况,值在0-1之间,Nginx根据负载率作为权值更新依据。
连接阈值:用于判定是否发送采集指令的依据,基于服务器节点的静态性能进行设置。
动态反馈负载均衡可以分解为三个部分:负载的调度分配,负载信息的动态反馈,负载信息的采集。通过结合Nginx内置加权最小连接算法、upstream机制以及上游服务器中负载信息采集器,提出动态反馈的负载均衡方法,该方法具有以下优点:
本发明在高流量的多服务器节点并行网络中,结合反向Nginx反向代理服务器,改进加权最小连接算法,使之进行优化,在不增加通信开销的基础上,实现上游服务器负载信息的采集,并动态修改Nginx反向代理服务器上的上游服务器权值,为优化负载分配提供依据。该发明避免了传统动态负载均衡算法中为采集上游服务器负载信息而产生的通信负载开销,同时减少了Nginx反向代理服务器与上游服务器间的系统负载压力。
附图说明
图1为本发明基于加权最小连接的动态反馈负载均衡方法的流程图。
具体实施方式
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
如图1所示,本发明基于加权最小连接的动态反馈负载均衡方法,具体包括:
步骤1,对整个系统进行预初始化,包括:检测下游连接读事件,创建upstream结构体,初始化upstream结构体和上游服务器请求。
步骤2,上游服务器的权值与连接阈值的初始化。
步骤3,Nginx反向代理服务器接收客户端的请求,并利用加权最小连接算法得到请求分配前的当前最佳上游服务器节点p;
步骤4,判断当前最佳上游服务器节点p的连接数是否大于所设连接阈值,若否,执行步骤5,若是,执行步骤6和步骤7,
步骤5,Nginx反向代理服务器将客户端请求打包后发送至上游服务器;
步骤6,Nginx反向代理服务器通过upstream机制向选择的上游服务器节点创建连接,并将负载信息采集指令填入连接的请求包头;
步骤7,Nginx反向代理服务器将带有负载信息采集指令的请求包头发送至上游服务器;
步骤8,当前最佳上游服务器节点p接收Nginx反向代理服务器的连接请求,并进行请求包头的解析;
步骤9,判断请求包头中是否含有负载信息采集指令,若否,执行步骤10,若是,执行步骤11和步骤12;
步骤10,上游服务器完成客户端动态请求后,将响应转送至Nginx反向代理服务器;
步骤11,上游服务器中的信息采集器进行负载信息采集,主要采集CPU负载率,内存占用率,磁盘占用率以及网络带宽占用率,依据动态负载指标模型进行负载信息的计算,并进行归一化成负载率,并将负载率填入响应包头;
步骤12,上游服务器完成客户端动态请求后,将载有负载率的响应转送至Nginx反向代理服务器;
步骤13,Nginx反向代理服务器接收上游服务器的请求响应,进行响应包头的解析,当解析到负载率时,执行步骤14,否则,执行步骤16;
步骤14,判断负载率是否大于0.7,若是,执行步骤15和步骤16;若否,执行步骤16;
步骤15,进行当前上游服务器实时权值的更新,减去节点的静态权值,移除载有负载率的响应包头;以达到负载均衡的效果。
步骤16,上游服务器将响应返回给客户端。
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种基于加权最小连接的动态反馈负载均衡方法,包括以下步骤:
(1)上游服务器的权值与连接阈值的初始化;
(2)Nginx反向代理服务器接收客户端的请求,并进行连接数的判断和负载信息采集指令的发送;
(3)上游服务器接收Nginx反向代理服务器的请求,并进行请求指令的解析和负载信息采集指令的反馈;
(4)Nginx反向代理服务器接收上游服务器的请求响应,并进行负载信息的解析以及上游服务器实时权值的更新,最后将响应返回给客户端。
2.根据权利要求1所述基于加权最小连接的动态反馈负载均衡方法,其特征在于:步骤2的具体步骤为:
(2-1)Nginx反向代理服务器接收客户端的请求,并利用加权最小连接算法得到请求分配前的当前最佳上游服务器节点p;
(2-2)判断当前最佳上游服务器节点p的连接数是否大于所设连接阈值,若否,执行步骤(2-3)若是,执行步骤(2-4)和步骤(2-5),
(2-3)Nginx反向代理服务器将客户端请求打包后发送至上游服务器;
(2-4)Nginx反向代理服务器通过upstream机制向选择的上游服务器节点创建连接,并将负载信息采集指令填入连接的请求包头;
(2-5)Nginx反向代理服务器将带有负载信息采集指令的请求包头发送至上游服务器。
3.根据权利要求1所述基于加权最小连接的动态反馈负载均衡方法,其特征在于:步骤3的具体步骤为:
(3-1)当前最佳上游服务器节点p接收Nginx反向代理服务器的连接请求,并进行请求包头的解析;
(3-2)判断请求包头中是否含有负载信息采集指令,若否,执行步骤(3-3),若是,执行步骤(3-4)和步骤(3-5);
(3-3)上游服务器完成客户端动态请求后,将响应转送至Nginx反向代理服务器;
(3-4)上游服务器中的信息采集器进行负载信息采集,依据动态负载指标模型进行负载信息的计算,并进行归一化成负载率(LoadRate),并将负载率填入响应包头;
(3-5)上游服务器完成客户端动态请求后,将载有负载率的响应转送至Nginx反向代理服务器。
4.根据权利要求1所述基于加权最小连接的动态反馈负载均衡方法,其特征在于:步骤4的具体步骤为:
(4-1)Nginx反向代理服务器接收上游服务器的请求响应,进行响应包头的解析,当解析到负载率时,执行步骤(4-2),否则,执行步骤(4-4);
(4-2)判断负载率是否大于设定的负载阈值,若是,执行步骤(4-3)和步骤(4-4);若否,执行步骤(4-4);
(4-3)进行当前上游服务器实时权值的更新,减去节点的静态权值,移除载有负载率的响应包头;以达到负载均衡的效果;
(4-4)上游服务器将响应返回给客户端。
5.根据权利要求2所述基于加权最小连接的动态反馈负载均衡方法,其特征在于:采集的负载信息包括CPU负载率、内存占用率、磁盘占用率以及网络带宽占用率。
6.根据权利要求4所述基于加权最小连接的动态反馈负载均衡方法,其特征在于:负载阈值的取值范围为0.5~0.7。
CN201611045113.9A 2016-11-21 2016-11-21 基于加权最小连接的动态反馈负载均衡方法 Pending CN106790381A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611045113.9A CN106790381A (zh) 2016-11-21 2016-11-21 基于加权最小连接的动态反馈负载均衡方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611045113.9A CN106790381A (zh) 2016-11-21 2016-11-21 基于加权最小连接的动态反馈负载均衡方法

Publications (1)

Publication Number Publication Date
CN106790381A true CN106790381A (zh) 2017-05-31

Family

ID=58975351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611045113.9A Pending CN106790381A (zh) 2016-11-21 2016-11-21 基于加权最小连接的动态反馈负载均衡方法

Country Status (1)

Country Link
CN (1) CN106790381A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108574727A (zh) * 2018-03-07 2018-09-25 天津麒麟信息技术有限公司 一种基于飞腾平台的改进的负载均衡调度系统
CN110049143A (zh) * 2019-05-31 2019-07-23 华迪计算机集团有限公司 负载均衡方法及装置
CN110175074A (zh) * 2019-04-18 2019-08-27 北京奇艺世纪科技有限公司 负载均衡方法和服务器、负载单元、服务处理设备及介质
CN110233860A (zh) * 2018-03-05 2019-09-13 杭州萤石软件有限公司 一种负载均衡方法、装置和系统
CN110519397A (zh) * 2019-09-27 2019-11-29 中电福富信息科技有限公司 一种基于nginx的sip终端接入的负载均衡系统及方法
CN113076192A (zh) * 2021-03-05 2021-07-06 深圳前海微众银行股份有限公司 一种负载均衡方法及装置、设备、存储介质
CN113810443A (zh) * 2020-06-16 2021-12-17 中兴通讯股份有限公司 资源管理方法、系统、代理服务器及存储介质
CN114448897A (zh) * 2021-12-29 2022-05-06 天翼云科技有限公司 一种目标器迁移方法及装置
CN117573372A (zh) * 2024-01-12 2024-02-20 北京浩瀚深度信息技术股份有限公司 一种基于反馈信号的提升数据入库性能的负载均衡方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄静等: ""基于Nginx的Web服务器性能优化研究"", 《浙江理工大学学报(自然科学版)》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110233860A (zh) * 2018-03-05 2019-09-13 杭州萤石软件有限公司 一种负载均衡方法、装置和系统
CN108574727A (zh) * 2018-03-07 2018-09-25 天津麒麟信息技术有限公司 一种基于飞腾平台的改进的负载均衡调度系统
CN110175074A (zh) * 2019-04-18 2019-08-27 北京奇艺世纪科技有限公司 负载均衡方法和服务器、负载单元、服务处理设备及介质
CN110049143A (zh) * 2019-05-31 2019-07-23 华迪计算机集团有限公司 负载均衡方法及装置
CN110519397A (zh) * 2019-09-27 2019-11-29 中电福富信息科技有限公司 一种基于nginx的sip终端接入的负载均衡系统及方法
CN110519397B (zh) * 2019-09-27 2022-02-11 中电福富信息科技有限公司 一种基于nginx的sip终端接入的负载均衡系统及方法
CN113810443A (zh) * 2020-06-16 2021-12-17 中兴通讯股份有限公司 资源管理方法、系统、代理服务器及存储介质
CN113076192A (zh) * 2021-03-05 2021-07-06 深圳前海微众银行股份有限公司 一种负载均衡方法及装置、设备、存储介质
CN113076192B (zh) * 2021-03-05 2023-09-01 深圳前海微众银行股份有限公司 一种负载均衡方法及装置、设备、存储介质
CN114448897A (zh) * 2021-12-29 2022-05-06 天翼云科技有限公司 一种目标器迁移方法及装置
CN114448897B (zh) * 2021-12-29 2024-01-02 天翼云科技有限公司 一种目标器迁移方法及装置
CN117573372A (zh) * 2024-01-12 2024-02-20 北京浩瀚深度信息技术股份有限公司 一种基于反馈信号的提升数据入库性能的负载均衡方法
CN117573372B (zh) * 2024-01-12 2024-03-15 北京浩瀚深度信息技术股份有限公司 一种基于反馈信号的提升数据入库性能的负载均衡方法

Similar Documents

Publication Publication Date Title
CN106790381A (zh) 基于加权最小连接的动态反馈负载均衡方法
CN112995023B (zh) 一种多接入边缘计算网络计算卸载系统及其计算卸载方法
CN103401938B (zh) 分布式云架构下基于业务特性的资源分配系统及其方法
CN109308221B (zh) 一种基于WebSocket长连接的Nginx动态负载均衡方法
CN105281981B (zh) 网络服务的数据流量监控方法和装置
CN105528330B (zh) 负载均衡的方法、装置、丛集和众核处理器
CN109656702B (zh) 一种基于强化学习的跨数据中心网络任务调度方法
CN106534318B (zh) 一种基于流量亲和性的OpenStack云平台资源动态调度系统和方法
CN107426332B (zh) 一种web服务器集群的负载均衡方法及系统
CN110187973A (zh) 一种面向边缘计算的服务部署优化方法
CN110493360A (zh) 多服务器下降低系统能耗的移动边缘计算卸载方法
CN106411733A (zh) 一种基于链路实时负载的sdn动态负载均衡调度方法
CN104580538A (zh) 一种提高Nginx服务器负载均衡效率的方法
CN109995864A (zh) 一种基于模糊逻辑的sdn负载均衡方法
CN103699433B (zh) 一种于Hadoop平台中动态调整任务数目的方法及系统
CN107295048A (zh) 负载均衡方法及装置
CN105550323A (zh) 一种分布式数据库负载均衡预测方法和预测分析器
CN110717300A (zh) 面向电力物联实时在线监测业务的边缘计算任务分配方法
CN106161552A (zh) 一种海量数据环境下负载均衡方法及系统
CN107087014A (zh) 一种负载均衡方法及其控制器
WO2024094104A1 (zh) 一种动态反馈加权云存储资源调度方法、装置及设备
CN110231976A (zh) 一种基于负载预测的边缘计算平台容器部署方法及系统
CN103207920A (zh) 一种元数据并行采集系统
CN102394931A (zh) 一种基于云的用户访问请求调度方法
CN110213351A (zh) 一种面向广域高性能计算环境的动态自适应io负载均衡方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170531