CN103179217A - 一种用于web应用服务器群组的负载均衡方法和装置 - Google Patents

一种用于web应用服务器群组的负载均衡方法和装置 Download PDF

Info

Publication number
CN103179217A
CN103179217A CN201310137004XA CN201310137004A CN103179217A CN 103179217 A CN103179217 A CN 103179217A CN 201310137004X A CN201310137004X A CN 201310137004XA CN 201310137004 A CN201310137004 A CN 201310137004A CN 103179217 A CN103179217 A CN 103179217A
Authority
CN
China
Prior art keywords
application server
web
service state
performance index
threshold value
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.)
Granted
Application number
CN201310137004XA
Other languages
English (en)
Other versions
CN103179217B (zh
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.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
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 China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN201310137004.XA priority Critical patent/CN103179217B/zh
Publication of CN103179217A publication Critical patent/CN103179217A/zh
Application granted granted Critical
Publication of CN103179217B publication Critical patent/CN103179217B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供了一种用于WEB应用服务器群组的负载均衡方法,包括:获取应用服务器群组中每台应用服务器的硬件性能指标、以及WEB应用的性能指标,根据所述硬件性能指标和所述WEB应用的性能指标确定接收来自客户端的请求的应用服务器。本发明还提供了相应的装置。实施本发明提供的方法和装置,可以达到较优的负载均衡,特别是较好地解决了应用服务器主机资源使用率很高而连接数很低时进行负载均衡,导致的网络响应速度变慢、甚至服务器宕机的问题。

Description

一种用于WEB应用服务器群组的负载均衡方法和装置
技术领域
本发明涉及计算机网络领域,尤其涉及一种用于WEB应用服务器群组的负载均衡方法和装置。
背景技术
由于目前现有计算机网络的各个核心网络部分随着待处理的数据业务量的提升,访问量和数据流量的快速增长,对计算机网络设备的处理能力和计算强度要求也相应地提高,这使得单一的服务器设备根本无法承担。在此情况下,如果扔掉现有计算机设备去做大量纯粹的硬件升级,必将造成现有计算机设备资源的严重浪费,而且如果再面临下一次数据业务量的提升时,这又将需要再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前数据业务量增长的需求。然而,负载均衡建立在现有计算机网络架构之上,它提供了一种廉价、有效、透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡通过多台应用服务器以对称的方式组成一个应用服务器集合,该应用服务器集合中的每台应用服务器具有等价的地位,对于客户端而言,每台应用服务器可以独立地响应来自客户端的请求,都可以单独对外提供服务而无需其他应用服务器的辅助。
来自客户端的请求首先到达用于进行负载均衡的服务器,用于进行负载均衡的服务器采用负载均衡算法将请求分配给WEB应用服务器群组中的某一台应用服务器,然后该应用服务器响应客户端的请求,这是加入负载均衡后的WEB访问流程。目前常用的负载均衡算法,是通过计算WEB应用服务器群组中WEB应用的连接数,将来自客户端的请求发送给WEB应用连接数最小的WEB应用服务器。这种最小连接数均衡算法,由于只考虑到各个WEB应用服务器的当前连接数,并没有考虑各应用服务器之间的差异,导致负载往往达不到真正意义上的均衡,也就是说,无法实现性能较优的负载均衡。特别是在应用服务器主机资源使用率很高,而连接数很低的情形下,容易导致网络响应速度变慢,甚至服务器宕机等问题。
发明内容
本发明提供了一种用于WEB应用服务器群组的负载均衡方法,该负载均衡方法利用应用服务器的当前WEB应用和应用服务器本身硬件资源两方面的性能指标,得到两方面服务状态均较优的应用服务器,从而将该服务状态较优的应用服务器作为接收客户端请求的服务器,可以达到性能较优的负载均衡,特别是较好地解决了应用服务器主机资源使用率很高而连接数很低情形下进行负载均衡,导致的网络响应速度变慢、甚至服务器宕机的问题。
根据本发明的第一方面,提供了一种用于WEB应用服务器群组的负载均衡方法,包括:
获取应用服务器群组中每台应用服务器的硬件性能指标、以及WEB应用的性能指标;
根据所述硬件性能指标和所述WEB应用的性能指标确定接收来自客户端的请求的应用服务器。
根据本发明的第二方面,提供了一种用于WEB应用服务器群组的负载均衡装置,包括:
获取模块,用于获取应用服务器群组中每台应用服务器的硬件性能指标、以及WEB应用的性能指标;
确定模块,用于根据所述硬件性能指标和所述WEB应用的性能指标确定接收来自客户端的请求的应用服务器。
实施本发明提供的用于WEB应用服务器群组的负载均衡方法和装置,在负载均衡中通过综合考虑应用服务器群组中各应用服务器的硬件性能指标和WEB应用的性能指标,与现有的最小连接数均衡法相比,可实现更优的负载均衡性能,并且可有效地缓解应用服务器主机硬件资源使用率很高而连接数很低时进行负载均衡所导致的网络响应速度变慢、甚至服务器宕机的问题。
附图说明
图1图示了根据本发明实施方式的用于WEB应用服务器群组的负载均衡方法的流程图。
图2图示了根据本发明实施方式的用于WEB应用服务器群组的负载均衡装置。
具体实施方式
为使本发明的实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
参见图1,图示了根据本发明实施方式的用于WEB应用服务器群组的负载均衡方法的流程图,该方法具体可包括如下步骤:
S101,获取应用服务器群组中每台应用服务器的硬件性能指标、以及WEB应用的性能指标;
S102,根据所述硬件性能指标和所述WEB应用的性能指标确定接收来自客户端的请求的应用服务器。
本发明的实施方式中,用于进行负载均衡的服务器是采用各种分配算法把来自WEB客户端的服务请求分散到WEB应用服务器群组中可用的应用服务器的一种服务器。用于进行负载均衡的服务器通过管理进入WEB应用服务器群组的各应用服务器的数据流量和增加有效的网络带宽,来降低网络中WEB应用服务器对来自客户端的服务请求的平均响应时间,从而提高WEB应用服务器系统的响应性能。本发明实施方式中的用于进行负载均衡的服务器可以是PC机,也可以是交换机(集成了负载均衡器,即具有负载均衡功能的交换机)。用于进行负载均衡的服务器与WEB应用服务器之间通信在WEB客户端的WEB服务请求发送过程中采用超文本传输协议(Hyper text transferprotocol,HTTP),也就是说,来自WEB客户端的服务请求是以HTTP请求的形式向负载均衡服务器发送,然后负载均衡服务器根据负载均衡算法将这些HTTP请求形式的服务请求转发给应用服务器系统中可用的应用服务器,接收转发的WEB应用服务器响应服务请求,根据这些服务请求做出相应的业务处理后,向客户端返回这些服务请求所需要的资源。
用于进行负载均衡的服务器在对WEB应用服务器群组进行负载均衡时,获取应用服务器群组中每台应用服务器的硬件性能指标、以及WEB应用的性能指标。其中,每台应用服务器的硬件性能指标、和WEB应用的性能指标的获取可以通过在各应用服务器上部署监控模块来实现,例如该监控模块可以通过C语言实现,上述性能指标数据的采集可以实时采集。对于各台应用服务器的硬件性能指标,可以包括应用服务器的主机的CPU使用率、内存使用率。其中各应用服务器上设置有提供CPU使用率和内存使用率的接口,监控模块可以通过调用上述接口来采集CPU使用率和内存使用率数据。各应用服务器的监控模块还可以获取WEB应用的JVM内存使用率、WEB应用的当前连接数和最大连接数的比值。本发明实施方式中的应用服务器和WEB应用的部署关系,例如可以在26台WEB应用服务器上部署32个WEB应用,通常每天的WEB访问量在2000万左右,但在某些特殊的场景下(例如,瞬时访问量剧增),1秒钟的WEB访问量可以达到上百万。本发明的实施方式的WEB应用服务器Weblogic是基于JAVA EE架构,在其他配置条件一定的情形下,JVM(java虚拟机)的内存使用率越高,Weblogic的性能越低。WEB应用的最大连接数可以由应用服务器系统管理员进行设置,最大连接数的设置可以根据WEB应用所在应用服务器的各硬件性能、数据库性能、以及分配给WEB应用相应的资源等参数进行设置。其中,用于进行负载均衡的服务器与WEB应用服务器之间的上述硬件性能指标和WEB应用的性能指标的传输采用简单网络管理协议(Simple Network Management Protocol,SNMP)进行。所述采集的各应用服务器的硬件性能指标和WEB应用的性能指标保存在负载均衡服务器的内存中,采集的上述数据在存入内存后,会覆盖前次采集的数据,以尽量避免采集的上述指标数据重复占用内存空间,影响负载均衡服务器数据处理效率。
本发明的实施方式中,根据所述硬件性能指标和所述WEB应用的性能指标确定接收来自客户端的请求的应用服务器,具体而言,可以包括下述步骤:
轮询所述应用服务器群组中每台应用服务器上部署的监控模块,判断各台应用服务器的CPU使用率是否超过CPU阈值,在各应用服务器的服务状态表中将超过CPU阈值的应用服务器的服务状态设置为不可转发,将未超过CPU阈值的应用服务器的服务状态设置为可转发,其中,服务状态为可转发状态,表示可以作为接收客户端服务请求的候选应用服务器,服务状态为不可转发状态,表示不能作为接收客户端服务请求的候选应用服务器,将应用服务器的服务状态设置为不可转发,可以视为将这些应用服务器排除在可接收服务请求的应用服务器之外。对应用服务器群组中各应用服务器监控模块的轮询可以采用定时轮询的形式,例如,可以每隔0.2S(秒)向各应用服务器的监控模块发送请求。各应用服务器的服务状态表可以采用二维数组的形式实现,保存在负载均衡服务器的内存中,例如可以是服务状态表可以是如下表1的形式:
表1
Figure BDA00003072417100051
表1中,应用服务器1-3的服务状态为0,不可转发,不能作为接收客户端服务请求的候选应用服务器,应用服务器4-6的服务状态为1,可转发,可以作为接收客户端服务请求的候选应用服务器。其中,CPU阈值可以设置为85%、86%、87%、88%、89%、90%等,本领域技术人员可根据应用服务器的具体CPU使用率进行确定。应用服务器的CPU使用率越高,其响应客户端服务请求的响应时间越长,在其他条件同等的情形下,越不适宜确定为接收客户端服务请求的应用服务器。在应用服务器的服务状态表中,将各应用服务器的服务状态初始设置为1,均可以转发,在进行CPU使用率判断后,将不可转发的应用服务器的服务状态更新为0。本发明的实施方式,通过对各应用服务器设置CPU阈值,将高于CPU阈值的应用服务器在服务状态表中设置为不可转发,避免了向响应时间较长的应用服务器发送服务请求,从而可以从CPU使用率这一方面降低服务请求的响应时间,提高WEB应用服务器系统的响应性能。
在根据CPU阈值对应用服务器的服务状态表进行更新后,轮询更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的存储使用率是否超过内存阈值,在更新后的服务状态表中将超过内存阈值的应用服务器的服务状态设置为不可转发,将未超过内存阈值的应用服务器的服务状态设置为可转发。本发明实施方式的内存阈值可以设置为80%、81%、82%、83%、84%、85%等。WEB应用服务器的内存使用率越高,其响应客户端服务器请求的响应时间越长,在其他条件同等的条件下,例如Web应用服务器的CPU使用率相同、WEB应用的JVM内存使用率相同、WEB应用的当前连接数和最大连接数的比值相同的情形下,WEB应用服务器的内存使用率越高,越不适宜确定为接收客户端服务请求的候选应用服务器。如果更新的服务状态表中该应用服务器的状态为可转发1,但在通过内存阈值判断后,超过内存阈值,那么将该应用服务器的服务状态更新为0,不可转发状态,没有超过内存阈值,那么不更新该应用服务器的服务状态,仍为1,可转发状态。本发明的实施方式,通过对各应用服务器设置内存阈值,在将CPU使用率超过CPU阈值的应用服务器置为不可转发外,进一步将高于内存阈值的应用服务器在服务状态表中设置为不可转发,避免了向响应时间较长的应用服务器发送服务请求,从而可以从内存使用率和CPU使用率两方面降低服务请求的响应时间,提高WEB应用服务器系统的响应性能。
在根据内存使用率对应用服务器的服务状态表进一步更新后,轮询进一步更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的WEB应用的JVM(Java虚拟机)内存使用率是否超过JVM阈值,若有应用服务器的WEB应用的JVM内存使用率超过JVM阈值,则在所述进一步更新后的服务状态表中将超过JVM阈值的应用服务器的服务状态设置为不可转发,则将未超过JVM阈值的应用服务器的服务状态设置为可转发。本发明实施方式的JVM阈值可以设置为90%、91%、92%、93%、94%、95%等。本领域技术人员可根据具体应用服务器的Java虚拟机参数进行相应的设置。由于部署本发明的web应用服务器weblogic是基于JAVA EE架构的,所以在其他条件一定的情况下,JVM(java虚拟机)的内存的使用率越高,weblogic的性能就会越低,其对客户端服务请求的响应时间也会随着增长,在其他条件同等的情况下,其越不适宜确定为接收客户端服务请求的候选应用服务器。本发明的实施方式,在利用CPU阈值和内存阈值将CPU使用率和内存使用率较高的、拉长请求响应时间的应用服务器置为不可用状态,在此基础上,进一步通过将超过JVM阈值的应用服务器设置为不可转发,将在Java虚拟机内存使用率方面拉长服务器请求响应时间的应用服务器排除,降低了WEB应用服务器系统的请求响应时间,提高了系统的响应性能。
在通过CPU阈值、内存阈值、JVM阈值对应用服务器的服务状态表进行更新后,轮询上述再次更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各服务器的WEB应用的当前连接数和最大连接数的比值,该比值可称为当前连接数比率,当前连接数比率=当前连接数:最大连接数,其中,符号“:”表示数学上的比值。应用服务器上所部署的WEB应用的当前连接数比率越小,说明处于相对比较空闲的、可用的WEB连接所占的比率越大,该应用服务器越适宜作为接收客户端服务请求的应用服务器。
以上结合附图和实施方式对本发明提供的用于WEB应用服务器集群的负载均衡方法进行了说明,下面将结合附图和实施方式对实现上述负载均衡方法的负载均衡装置进行阐述。
参见图2,图示了根据本发明实施方式的用于WEB应用服务器群组的负载均衡装置。该负载均衡装置200具体可以包括:
获取模块201,用于获取应用服务器群组中每台应用服务器的硬件性能指标、以及WEB应用的性能指标;
确定模块202,用于根据所述硬件性能指标和所述WEB应用的性能指标确定接收来自客户端的请求的应用服务器。
本发明实施方式中的负载均衡装置可以部署在用于进行负载均衡的服务器上,其中用于进行负载均衡的服务器可以是PC机,也可以是交换机(集成了负载均衡器,即具有负载均衡功能的交换机)。本发明实施方式的获取模块201和确定模块202可部署在用于进行负载均衡的PC机或交换机上,利用负载均衡服务器的内存保存相应的数据。
用于进行负载均衡的服务器与WEB应用服务器之间通信在WEB客户端的WEB服务请求发送过程中采用超文本传输协议HTTP,也就是说,来自WEB客户端的服务请求是以HTTP请求的形式向负载均衡服务器发送,然后负载均衡服务器根据负载均衡算法将这些HTTP请求形式的服务请求转发给应用服务器系统中可用的应用服务器,接收转发的WEB应用服务器响应服务请求,根据这些服务请求做出相应的业务处理后,向客户端返回这些服务请求所需要的资源。
在对WEB应用服务器群组进行负载均衡时,获取模块201获取应用服务器群组中每台应用服务器的硬件性能指标、以及WEB应用的性能指标。其中,每台应用服务器的硬件性能指标、和WEB应用的性能指标的获取可以通过在各应用服务器上部署监控模块来实现,例如该监控模块可以通过C语言实现,上述性能指标数据的采集可以实时采集。对于各台应用服务器的硬件性能指标,可以包括应用服务器的主机的CPU使用率、内存使用率。其中各应用服务器上设置有提供CPU使用率和内存使用率的接口,监控模块可以通过调用上述接口来采集CPU使用率和内存使用率数据。各应用服务器的监控模块还可以获取WEB应用的JVM内存使用率、WEB应用的当前连接数和最大连接数的比值。本发明的实施方式的WEB应用服务器Weblogic是基于JAVA EE架构,在其他配置条件一定的情形下,JVM(java虚拟机)的内存使用率越高,Weblogic的性能越低。WEB应用的最大连接数可以由应用服务器系统管理员进行设置,最大连接数的设置可以根据WEB应用所在应用服务器的各硬件性能、数据库性能、以及分配给WEB应用相应的资源等参数进行设置。其中用于进行负载均衡的服务器与WEB应用服务器之间的上述硬件性能指标和WEB应用的性能指标的传输采用简单网络管理协议SNMP进行。所述采集的各应用服务器的硬件性能指标和WEB应用的性能指标保存在负载均衡服务器的内存中,采集的上述数据在存入内存后,会覆盖前次采集的数据,以尽量避免采集的上述指标数据重复占用内存空间,影响负载均衡服务器数据处理效率。
本发明实施方式中的确定模块,具体而言,可以包括:第一处理单元,用于轮询所述应用服务器群组中每台应用服务器上部署的监控模块,判断各台应用服务器的CPU使用率是否超过CPU阈值,在各应用服务器的服务状态表中将超过CPU阈值的应用服务器的服务状态设置为不可转发,将未超过CPU阈值的应用服务器的服务状态设置为可转发;第二处理单元,用于轮询所述更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的内存使用率是否超过内存阈值,在所述更新后的服务状态表中将超过内存阈值的应用服务器的服务状态设置为不可转发,将未超过内存阈值的应用服务器的服务状态设置为可转发;第三处理单元,用于轮询所述进一步更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的WEB应用的JVM内存使用率是否超过JVM阈值,在所述进一步更新后的服务状态表中将超过JVM阈值的应用服务器的服务状态设置为不可转发,将未超过JVM阈值的应用服务器的服务状态设置为可转发;第四处理单元,用于轮询所述再次更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的WEB应用的当前连接数和最大连接数的比值,将所述比值最小的应用服务器确定为接收来自客户端的请求的应用服务器。
第一处理单元轮询应用服务器群组中每台应用服务器上部署的监控模块,判断各台应用服务器上CPU使用率是否超过CPU阈值,在各应用服务器的服务状态表中将超过CPU阈值的应用服务器的服务状态设置为不可转发,将未超过CPU阈值的应用服务器的服务状态设置为可转发。其中,服务状态为可转发状态,表示可以作为接收客户端服务请求的候选应用服务器,服务状态为不可转发状态,表示不能作为接收客户端服务请求的候选应用服务器,将应用服务器的服务状态设置为不可转发,可以视为将这些应用服务器排除在可接收服务请求的应用服务器之外。对应用服务器群组中各应用服务器监控模块的轮询可以采用定时轮询的形式,例如,可以每隔0.2S(秒)向各应用服务器的监控模块发送请求。各应用服务器的服务状态表可以采用二维数组的形式实现,保存在负载均衡服务器的内存中,其形式可以是表1的形式。其中CPU阈值可以设置为85%、86%、87%、88%、89%、90%等,本领域技术人员可根据应用服务器的具体CPU使用率进行确定。应用服务器的CPU使用率越高,其响应客户端服务请求的响应时间越长,在其他条件同等的情形下,越不适宜确定为接收客户端服务请求的应用服务器。在应用服务器的服务状态表中,将各应用服务器的服务状态初始设置为1,均可以转发,在进行CPU使用率判断后,将不可转发的应用服务器的服务状态更新为0。本发明的实施方式,通过对各应用服务器设置CPU阈值,将高于CPU阈值的应用服务器在服务状态表中设置为不可转发,避免了向响应时间较长的应用服务器发送服务请求,从而可以从CPU使用率这一方面降低服务请求的响应时间,提高WEB应用服务器系统的响应性能。
在根据CPU阈值对应用服务器的服务状态表进行更新后,第二处理单元轮询更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的存储使用率是否超过内存阈值,在更新后的服务状态表中将超过内存阈值的应用服务器的服务状态设置为不可转发,将未超过内存阈值的应用服务器的服务状态设置为可转发。本发明实施方式的内存阈值可以设置为80%、81%、82%、83%、84%、85%等。WEB应用服务器的内存使用率越高,其响应客户端服务器请求的响应时间越长,在其他条件同等的条件下,例如Web应用服务器的CPU使用率相同、WEB应用的JVM内存使用率相同、WEB应用的当前连接数和最大连接数的比值相同的情形下,WEB应用服务器的内存使用率越高,越不适宜确定为接收客户端请求的应用服务器。如果更新的服务状态表中该应用服务器的状态为可转发1,但在通过内存阈值判断后,超过内存阈值,那么将该应用服务器的服务状态更新为0,不可转发状态,没有超过内存阈值,那么不更新该应用服务器的服务状态,仍为1,可转发状态。本发明的实施方式,通过对各应用服务器设置内存阈值,在将CPU使用率超过CPU阈值的应用服务器置为不可转发外,进一步将高于内存阈值的应用服务器在服务状态表中设置为不可转发,避免了向响应时间较长的应用服务器发送服务请求,从而可以从内存使用率和CPU使用率两方面降低服务请求的响应时间,提高WEB应用服务器系统的响应性能。
在根据内存使用率对应用服务器的服务状态表进一步更新后,第三处理单元轮询进一步更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的WEB应用的JVM(Java虚拟机)内存使用率是否超过JVM阈值,若有应用服务器的WEB应用的JVM内存使用率超过JVM阈值,则在所述进一步更新后的服务状态表中将超过JVM阈值的应用服务器的服务状态设置为不可转发,则将未超过JVM阈值的应用服务器的服务状态设置为可转发。本发明实施方式的JVM阈值可以设置为90%、91%、92%、93%、94%、95%等。本领域技术人员可根据具体应用服务器的Java虚拟机参数进行相应的设置。由于部署本发明的web应用服务器weblogic是基于JAVAEE架构的,所以在其他条件一定的情况下,JVM(java虚拟机)的内存的使用率越高,weblogic的性能就会越低,其对客户端服务请求的响应时间也会随之增长,在其他条件同等的情况下,其越不适宜确定为接收客户端服务请求的候选应用服务器。本发明的实施方式,在利用CPU阈值和内存阈值将CPU使用率和内存使用率较高的拉长请求响应时间的应用服务器置为不可用状态,在此基础上,进一步通过将超过JVM阈值的应用服务器设置为不可转发,将在Java虚拟机内存使用率方面拉长响应时间的应用服务器排除,降低了WEB应用服务器系统的请求响应时间,提高了系统的响应性能。
在通过CPU阈值、内存阈值、JVM阈值对应用服务器的服务状态表进行更新后,第四处理单元轮询上述再次更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各服务器的WEB应用的当前连接数和最大连接数的比值,该比值可称为当前连接数比率,当前连接数比率=当前连接数:最大连接数,其中符号“:”表示数学上的比值。应用服务器上所部署的WEB应用的当前连接数比率越小,说明处于相对比较空闲的、可用的WEB应用连接所占的比率越大,该应用服务器越适宜作为接收客户端服务请求的应用服务器。
综上所述,实施本发明提供用于WEB应用服务器群组的负载均衡方法和装置,通过对服务器群组中各应用服务器的硬件性能的各项指标和WEB应用的各项性能指标逐渐更新各应用服务器的服务状态表,确定出各项性能均较优的应用服务器作为接收客户端服务请求的应用服务器,实现了性能较优的负载均衡,也有效的解决了应用服务器主机硬件资源使用率很高而连接数很低时进行负载均衡所导致的网络响应速度变慢、甚至服务器宕机的问题。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所揭露的仅为本发明的一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (10)

1.一种用于WEB应用服务器群组的负载均衡方法,其特征在于,包括:
获取应用服务器群组中每台应用服务器的硬件性能指标、以及WEB应用的性能指标;
根据所述硬件性能指标和所述WEB应用的性能指标确定接收来自客户端的请求的应用服务器。
2.根据权利要求1所述的方法,其特征在于,还包括:
在所述应用服务器群组中的每台应用服务器上部署C语言实现的监控模块,用于采集本台应用服务器的硬件性能指标和WEB应用的性能指标。
3.根据权利要求2所述的方法,其特征在于,所述硬件性能指标包括:本台应用服务器的CPU使用率、内存使用率。
4.根据权利要求3所述的方法,其特征在于,所述WEB应用的性能指标包括:WEB应用的JVM内存使用率、WEB应用的当前连接数和最大连接数的比值。
5.根据权利要求4所述的方法,其特征在于,所述根据所述硬件性能指标和所述WEB应用的性能指标确定接收来自客户端的请求的应用服务器包括:
轮询所述应用服务器群组中每台应用服务器上部署的监控模块,判断各台应用服务器的CPU使用率是否超过CPU阈值,在各应用服务器的服务状态表中将超过CPU阈值的应用服务器的服务状态设置为不可转发,将未超过CPU阈值的应用服务器的服务状态设置为可转发;
轮询所述更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的内存使用率是否超过内存阈值,在所述更新后的服务状态表中将超过内存阈值的应用服务器的服务状态设置为不可转发,将未超过内存阈值的应用服务器的服务状态设置为可转发;
轮询所述进一步更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的WEB应用的JVM内存使用率是否超过JVM阈值,在所述进一步更新后的服务状态表中将超过JVM阈值的应用服务器的服务状态设置为不可转发,将未超过JVM阈值的应用服务器的服务状态设置为可转发;
轮询所述再次更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的WEB应用的当前连接数和最大连接数的比值,将所述比值最小的应用服务器确定为接收来自客户端的请求的应用服务器。
6.一种用于WEB应用服务器群组的负载均衡装置,其特征在于,包括:
获取模块,用于获取应用服务器群组中每台应用服务器的硬件性能指标、以及WEB应用的性能指标;
确定模块,用于根据所述硬件性能指标和所述WEB应用的性能指标确定接收来自客户端的请求的应用服务器。
7.根据权利要求6所述的装置,其特征在于,还包括:
监控模块,设置于所述应用服务器群组中的每台应用服务器上,通过C语言实现,用于采集本台应用服务器的硬件性能指标和WEB应用的性能指标。
8.根据权利要求7所述的装置,其特征在于,所述硬件性能指标包括:本台应用服务器的CPU使用率、内存使用率。
9.根据权利要求8所述的装置,其特征在于,所述WEB应用的性能指标包括:WEB应用的JVM内存使用率、WEB应用的当前连接数和最大连接数的比值。
10.根据权利要求9所述的装置,其特征在于,所述确定模块包括:
第一处理单元,用于轮询所述应用服务器群组中每台应用服务器上部署的监控模块,判断各台应用服务器的CPU使用率是否超过CPU阈值,在各应用服务器的服务状态表中将超过CPU阈值的应用服务器的服务状态设置为不可转发,将未超过CPU阈值的应用服务器的服务状态设置为可转发;
第二处理单元,用于轮询所述更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的内存使用率是否超过内存阈值,在所述更新后的服务状态表中将超过内存阈值的应用服务器的服务状态设置为不可转发,将未超过内存阈值的应用服务器的服务状态设置为可转发;
第三处理单元,用于轮询所述进一步更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的WEB应用的JVM内存使用率是否超过JVM阈值,在所述进一步更新后的服务状态表中将超过JVM阈值的应用服务器的服务状态设置为不可转发,将未超过JVM阈值的应用服务器的服务状态设置为可转发;
第四处理单元,用于轮询所述再次更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的WEB应用的当前连接数和最大连接数的比值,将所述比值最小的应用服务器确定为接收来自客户端的请求的应用服务器。
CN201310137004.XA 2013-04-19 2013-04-19 一种用于web应用服务器群组的负载均衡方法和装置 Active CN103179217B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310137004.XA CN103179217B (zh) 2013-04-19 2013-04-19 一种用于web应用服务器群组的负载均衡方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310137004.XA CN103179217B (zh) 2013-04-19 2013-04-19 一种用于web应用服务器群组的负载均衡方法和装置

Publications (2)

Publication Number Publication Date
CN103179217A true CN103179217A (zh) 2013-06-26
CN103179217B CN103179217B (zh) 2016-01-13

Family

ID=48638835

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310137004.XA Active CN103179217B (zh) 2013-04-19 2013-04-19 一种用于web应用服务器群组的负载均衡方法和装置

Country Status (1)

Country Link
CN (1) CN103179217B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104038540A (zh) * 2014-06-03 2014-09-10 山东乾云启创信息科技有限公司 一种应用代理服务器自动选择方法及系统
CN104767689A (zh) * 2014-01-07 2015-07-08 腾讯科技(深圳)有限公司 控制网络访问接入量的方法及服务器
CN104811503A (zh) * 2015-05-21 2015-07-29 龙信数据(北京)有限公司 一种r统计建模系统
CN105335229A (zh) * 2014-07-25 2016-02-17 杭州华三通信技术有限公司 一种业务资源的调度方法和装置
CN105407115A (zh) * 2014-09-03 2016-03-16 中国石油化工股份有限公司 一种基于vnc调度的负载均衡方法及其系统
CN105426284A (zh) * 2014-09-12 2016-03-23 日本电气株式会社 监视设备、服务器、监视系统、监视方法和程序记录介质
CN105591964A (zh) * 2015-10-14 2016-05-18 中国银联股份有限公司 一种用于互联网系统的过载保护装置和方法
CN106657259A (zh) * 2016-10-28 2017-05-10 努比亚技术有限公司 一种用于服务器集群的路由服务器及路由服务方法
CN107241418A (zh) * 2017-06-13 2017-10-10 腾讯科技(深圳)有限公司 一种负载均衡方法、装置、设备和计算机可读存储介质
CN107911438A (zh) * 2017-11-06 2018-04-13 出门问问信息科技有限公司 数据处理的方法、装置及系统
CN108173775A (zh) * 2016-12-08 2018-06-15 北京京东尚科信息技术有限公司 用于服务器限流的方法与系统
CN108551489A (zh) * 2018-05-07 2018-09-18 广东电网有限责任公司 一种应用服务器负载均衡方法、系统、装置及存储介质
CN110198359A (zh) * 2019-07-08 2019-09-03 紫光云技术有限公司 一种负载均衡方法及装置
CN110515728A (zh) * 2019-08-19 2019-11-29 杭州迪普科技股份有限公司 服务器调度方法、装置、电子设备及机器可读存储介质
CN111327663A (zh) * 2018-12-17 2020-06-23 中国移动通信集团青海有限公司 一种堡垒机分配的方法和设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834756A (zh) * 2010-04-07 2010-09-15 山东高效能服务器和存储研究院 一种用于负载均衡设备的状态监控系统
CN102195886A (zh) * 2011-05-30 2011-09-21 兰雨晴 一种云平台上的服务调度方法
CN102447719A (zh) * 2010-10-12 2012-05-09 上海遥薇(集团)有限公司 Web GIS服务的动态负载均衡信息处理系统
CN102611735A (zh) * 2011-12-21 2012-07-25 奇智软件(北京)有限公司 一种应用服务的负载均衡方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834756A (zh) * 2010-04-07 2010-09-15 山东高效能服务器和存储研究院 一种用于负载均衡设备的状态监控系统
CN102447719A (zh) * 2010-10-12 2012-05-09 上海遥薇(集团)有限公司 Web GIS服务的动态负载均衡信息处理系统
CN102195886A (zh) * 2011-05-30 2011-09-21 兰雨晴 一种云平台上的服务调度方法
CN102611735A (zh) * 2011-12-21 2012-07-25 奇智软件(北京)有限公司 一种应用服务的负载均衡方法及系统

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104767689A (zh) * 2014-01-07 2015-07-08 腾讯科技(深圳)有限公司 控制网络访问接入量的方法及服务器
CN104038540A (zh) * 2014-06-03 2014-09-10 山东乾云启创信息科技有限公司 一种应用代理服务器自动选择方法及系统
CN104038540B (zh) * 2014-06-03 2017-03-22 山东乾云启创信息科技股份有限公司 一种应用代理服务器自动选择方法及系统
CN105335229A (zh) * 2014-07-25 2016-02-17 杭州华三通信技术有限公司 一种业务资源的调度方法和装置
CN105335229B (zh) * 2014-07-25 2020-07-07 新华三技术有限公司 一种业务资源的调度方法和装置
CN105407115A (zh) * 2014-09-03 2016-03-16 中国石油化工股份有限公司 一种基于vnc调度的负载均衡方法及其系统
CN105426284A (zh) * 2014-09-12 2016-03-23 日本电气株式会社 监视设备、服务器、监视系统、监视方法和程序记录介质
CN104811503A (zh) * 2015-05-21 2015-07-29 龙信数据(北京)有限公司 一种r统计建模系统
CN105591964A (zh) * 2015-10-14 2016-05-18 中国银联股份有限公司 一种用于互联网系统的过载保护装置和方法
CN105591964B (zh) * 2015-10-14 2019-08-13 中国银联股份有限公司 一种用于互联网系统的过载保护装置和方法
CN106657259A (zh) * 2016-10-28 2017-05-10 努比亚技术有限公司 一种用于服务器集群的路由服务器及路由服务方法
CN106657259B (zh) * 2016-10-28 2020-12-01 广东亿网通科技有限公司 一种用于服务器集群的路由服务器及路由服务方法
CN108173775A (zh) * 2016-12-08 2018-06-15 北京京东尚科信息技术有限公司 用于服务器限流的方法与系统
CN107241418A (zh) * 2017-06-13 2017-10-10 腾讯科技(深圳)有限公司 一种负载均衡方法、装置、设备和计算机可读存储介质
CN107911438A (zh) * 2017-11-06 2018-04-13 出门问问信息科技有限公司 数据处理的方法、装置及系统
CN108551489A (zh) * 2018-05-07 2018-09-18 广东电网有限责任公司 一种应用服务器负载均衡方法、系统、装置及存储介质
CN111327663A (zh) * 2018-12-17 2020-06-23 中国移动通信集团青海有限公司 一种堡垒机分配的方法和设备
CN110198359A (zh) * 2019-07-08 2019-09-03 紫光云技术有限公司 一种负载均衡方法及装置
CN110515728A (zh) * 2019-08-19 2019-11-29 杭州迪普科技股份有限公司 服务器调度方法、装置、电子设备及机器可读存储介质
CN110515728B (zh) * 2019-08-19 2022-05-31 杭州迪普科技股份有限公司 服务器调度方法、装置、电子设备及机器可读存储介质

Also Published As

Publication number Publication date
CN103179217B (zh) 2016-01-13

Similar Documents

Publication Publication Date Title
CN103179217B (zh) 一种用于web应用服务器群组的负载均衡方法和装置
CN102281190B (zh) 负载均衡装置组网方法以及服务器、客户端接入方法
CN109218355B (zh) 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法
US10455013B2 (en) Peer-to-peer upload scheduling
US9503308B2 (en) Method, device and system for processing content
CN109831524B (zh) 一种负载均衡处理方法及装置
CN113037869B (zh) 用于内容分发网络系统的回源的方法和装置
US20140165119A1 (en) Offline download method, multimedia file download method and system thereof
CN106657379A (zh) 一种nginx服务器负载均衡的实现方法及系统
CN105516360A (zh) 一种计算机的负载均衡方法及装置
US20180349178A1 (en) A method and system for scalable job processing
CN106470123B (zh) 日志收集方法、客户端、服务器和电子设备
CN101710905A (zh) 一种基于策略的地址解析控制方法与系统
CN103369601A (zh) 为手机客户端提供大并发处理及流量控制的方法
CN103442030A (zh) 发送和处理业务请求信息的方法和系统以及客户端装置
CN102158346A (zh) 基于云计算的信息采集系统及方法
CN102045396A (zh) 服务器文件的负载均衡方法
US8886615B2 (en) Web service performance optimization by adaptively using compression
CN113453025A (zh) 数据获取方法及装置
CN106209952B (zh) 服务节点分配方法、装置、cdn管理服务器及系统
KR101252956B1 (ko) 다중 인터페이스 환경에서 다중 경로를 활용한 웹 페이지 로딩 시스템 및 그 방법
CN101800751B (zh) 分布式实时数据编码传输方法
CN115883657A (zh) 一种云盘服务加速调度的方法及系统
CN113810461B (zh) 带宽控制方法、装置、设备及可读存储介质
US9071954B2 (en) Wireless optimized content delivery network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant