掌桥专利:专业的专利平台
掌桥专利
首页

一种服务器负载均衡分发方法

文献发布时间:2023-06-19 09:30:39


一种服务器负载均衡分发方法

技术领域

本发明涉及服务器负载均衡分发技术领域,具体为一种服务器负载均衡分发方法。

背景技术

传统的服务器负载算法主要分为静态负载均衡算法和动态负载均衡算法两类。静态负载均衡算法,以固定的概率分配任务,不考虑服务器的状态信息,如轮转算法、加权轮转算法、随机法等,静态负载均衡算法的缺点在于无法保证分配任务的合理性,无法根据服务器承受能力来分配任务。动态负载均衡算法,以服务器的实时负载状态信息来决定任务的分配,如最小连接法、加权最小连接法等。最小连接法适用于各个节点处理的性能相似时,任务分发单元会将任务平滑分配给服务器。加权最小连接算法是在最小连接算法的基础上,通过使用权值描述不同服务器的服务能力,并给不同服务能力的服务器分配不同的连接数量的负载均衡算法。各个服务器用相应的权值表示其处理性能。系统管理员可以动态地设置服务器的权值。加权最小连接调度在调度新连接时尽可能使服务器的已建立连接数和其权值成比例。动态负载均衡算法的缺点在于当服务器性能差距较大时,就无法达到预期的效果。因为此时连接数并不能准确表明处理能力,连接数小而自身性能很差的服务器可能不及连接数大而自身性能极好的服务器。所以在这个时候就会导致任务无法准确的分配到剩余处理能力强的机器上。

因此,传统的服务器负载算法没有考虑服务器的性能差异和其对任务的承受能力,特别是在真实的企业业务环境中,服务器数量一般随着业务的发展灵活增加,前后新增的服务器性能差异大,若按最小连接法等动态算法,也可能由于服务器性能问题无法合理的分配任务。

发明内容

本发明目的在于提供一种服务器合理分配负载任务的服务器负载均衡分发方法。

本发明所述的一种服务器负载均衡分发方法,包括以下步骤:

通过网络管理协议的入口读取服务器CPU的使用率,内存的使用率,带宽的使用率;

依据服务器CPU的使用率, 得出服务器CPU的剩余率;依据服务器内存的使用率,得出内存的剩余率;依据服务器带宽的使用率,得出带宽的剩余率;

由总用户端口根据当前服务器的运行状态分别定义服务器CPU剩余率的百分比权值、内存剩余率的百分比权值以及带宽剩余率的百分比权值;

通过把当前服务器CPU剩余率与其百分比权值的乘积、内存剩余率与其百分比权值的乘积,以及带宽剩余率与其百分比权值的乘积相加计算出当前每一台服务器的任务分配权重值;

由当前每一台服务器的任务分配权重值除以所有当前服务器任务分配权重值的总和,得出当前每一台服务器的负载分配任务值;

依据负载分配任务值对各服务器分配负载任务。

所述一种服务器负载均衡分发方法,通过在网络管理协议的入口读取服务器CPU的使用率,内存的使用率,带宽的使用率算出服务器CPU的剩余率, 内存的剩余率,带宽的剩余率,由总用户端口根据当前服务器的运行状态分别定义服务器CPU剩余率的百分比权值、内存剩余率的百分比权值以及带宽剩余率的百分比权值,把当前服务器CPU剩余率的百分比权值、内存剩余率的百分比权值以及带宽剩余率的百分比权值相加计算出当前每一台服务器的权重值,由当前每一台服务器的权重值除以当前每一台服务器权重值的总和,计算出当前每一台服务器合理的负载分配任务值,使得可以根据服务器的性能差异和其对任务的承受能力,进行有效的分配负载任务。

附图说明

图1为本发明一种服务器负载均衡分发方法流程图。

具体实施方式

如图1所示,一种服务器负载均衡分发方法,包括以下步骤:

通过网络管理协议的入口读取服务器CPU的使用率,内存的使用率,带宽的使用率;

依据服务器CPU的使用率, 得出服务器CPU的剩余率;依据服务器内存的使用率,得出内存的剩余率;依据服务器带宽的使用率,得出带宽的剩余率;

由总用户端口根据当前服务器的运行状态分别定义服务器CPU剩余率的百分比权值、内存剩余率的百分比权值以及带宽剩余率的百分比权值;

通过把当前服务器CPU剩余率与其百分比权值的乘积、内存剩余率与其百分比权值的乘积,以及带宽剩余率与其百分比权值的乘积相加计算出当前每一台服务器的任务分配权重值;

由当前每一台服务器的任务分配权重值除以所有当前服务器任务分配权重值的总和,得出当前每一台服务器的负载分配任务值;

依据负载分配任务值对各服务器分配负载任务。

服务器CPU剩余率的百分比权值、内存剩余率的百分比权值以及带宽剩余率的百分比权值分别定义为百分之五十的服务器CPU剩余率、百分之三十的内存剩余率以及百分之二十的带宽剩余率。

通过在网络管理协议的入口读取服务器CPU的使用率,内存的使用率,带宽的使用率算出服务器CPU的剩余率, 内存的剩余率,带宽的剩余率,由总用户端口根据当前服务器的运行状态分别定义服务器CPU剩余率的百分比权值、内存剩余率的百分比权值以及带宽剩余率的百分比权值,把当前服务器CPU剩余率的百分比权值、内存剩余率的百分比权值以及带宽剩余率的百分比权值相加计算出当前每一台服务器的权重值,由当前每一台服务器的权重值除以当前每一台服务器权重值的总和,计算出当前每一台服务器合理的负载分配任务值,使得可以根据服务器的性能差异和其对任务的承受能力,进行有效的分配负载任务。

下面给出具体的案例说明:

客户端根据系统使用情况认为CPU对业务性能影响最大,其次为内存,最后是带宽,服务器CPU剩余率的百分比权值、内存剩余率的百分比权值以及带宽剩余率的百分比权值分别定义为百分之五十的服务器CPU剩余率、百分之三十的内存剩余率以及百分之二十的带宽剩余率。

服务器的权重值计算公式为Wn=50%(1-An)+30%(1-Bn)+20%(1-Cn),其中Wn表示当前服务器的权重值,50%(1-An)表示前服务器CPU剩余率的百分比权值,(1-An)表示前服务器CPU的剩余率,An表示前服务器CPU的使用率;30%(1-Bn)表示前服务器内存剩余率的百分比权值,(1-Bn)表示前服务器内存剩余率,Bn表示前服务器内存使用率;20%(1-Cn) 表示前服务器带宽剩余率的百分比权值,(1-Cn) 表示前服务器带宽剩余率,Cn表示前服务器带宽使用率。

若N台不同性能的服务器做负载均衡,由当前每一台服务器的权重值除以当前每一台服务器权重值的总和,计算出当前每一台服务器合理的负载分配任务值,根据计算结果

列如:某互联网业务由6台服务器提供服务,通过网络管理协议的入口得到服务器使用情况如下:

根据服务器的权重值:Wn=50%(1-An)+30%(1-Bn)+20%(1-Cn),服务器分配任务值:

若某时刻有1000个客户端数据请求,根据上表服务器分配任务值,6台服务器每一台服务器分别分配245、212、179、147、125、92个客户端请求数据,使得可以根据服务器的性能差异和其对任务的承受能力,进行有效的分配负载任务。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

相关技术
  • 一种服务器负载均衡分发方法
  • 一种服务器、负载均衡器以及服务器负载均衡方法和系统
技术分类

06120112195264