著录项信息
专利名称 | 一种用于WEB应用服务器群组的负载均衡方法和装置 |
申请号 | CN201310137004.X | 申请日期 | 2013-04-19 |
法律状态 | 授权 | 申报国家 | 暂无 |
公开/公告日 | 2013-06-26 | 公开/公告号 | CN103179217A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/08 | IPC分类号 | H;0;4;L;2;9;/;0;8查看分类表>
|
申请人 | 中国建设银行股份有限公司 | 申请人地址 | 北京市西城区金融大街25号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中国建设银行股份有限公司 | 当前权利人 | 中国建设银行股份有限公司 |
发明人 | 周振;陈林;王伟;包辰明;廖继逢;吴炎冰;智锦;张辉;李彦琳 |
代理机构 | 广州三环专利代理有限公司 | 代理人 | 温旭;郝传鑫 |
摘要
本发明提供了一种用于WEB应用服务器群组的负载均衡方法,包括:获取应用服务器群组中每台应用服务器的硬件性能指标、以及WEB应用的性能指标,根据所述硬件性能指标和所述WEB应用的性能指标确定接收来自客户端的请求的应用服务器。本发明还提供了相应的装置。实施本发明提供的方法和装置,可以达到较优的负载均衡,特别是较好地解决了应用服务器主机资源使用率很高而连接数很低时进行负载均衡,导致的网络响应速度变慢、甚至服务器宕机的问题。
1.一种用于WEB应用服务器群组的负载均衡方法,其特征在于,包括:
获取应用服务器群组中每台应用服务器的硬件性能指标、以及WEB应用的性能指标;
根据所述硬件性能指标和所述WEB应用的性能指标确定接收来自客户端的请求的应用服务器,包括:
轮询所述应用服务器群组中每台应用服务器上部署的监控模块,判断各台应用服务器的CPU使用率是否超过CPU阈值,在各应用服务器的服务状态表中将超过CPU阈值的应用服务器的服务状态设置为不可转发,将未超过CPU阈值的应用服务器的服务状态设置为可转发,其中,所述服务状态表是采用二维数组的形式,
在根据CPU阈值对应用服务器的服务状态表进行更新后,轮询更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的存储使用率是否超过内存阈值,在更新后的服务状态表中将超过内存阈值的应用服务器的服务状态设置为不可转发,将未超过内存阈值的应用服务器的服务状态设置为可转发,
在根据内存使用率对应用服务器的服务状态表进一步更新后,轮询进一步更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的WEB应用的JVM内存使用率是否超过JVM阈值,若有应用服务器的WEB应用的JVM内存使用率超过JVM阈值,则在所述进一步更新后的服务状态表中将超过JVM阈值的应用服务器的服务状态设置为不可转发,则将未超过JVM阈值的应用服务器的服务状态设置为可转发,在通过CPU阈值、内存阈值、JVM阈值对应用服务器的服务状态表进行更新后,轮询通过所述JVM阈值更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各服务器的WEB应用的当前连接数和最大连接数的比值,将所述比值最小的应用服务器确定为接收来自客户端端的请求的应用服务器。
2.一种用于WEB应用服务器群组的负载均衡装置,其特征在于,包括:
获取模块,用于获取应用服务器群组中每台应用服务器的硬件性能指标、以及WEB应用的性能指标;
确定模块,用于根据所述硬件性能指标和所述WEB应用的性能指标确定接收来自客户端的请求的应用服务器,包括:
第一处理单元,用于轮询应用服务器群组中每台应用服务器上部署的监控模块,判断各台应用服务器上CPU使用率是否超过CPU阈值,在各应用服务器的服务状态表中将超过CPU阈值的应用服务器的服务状态设置为不可转发,将未超过CPU阈值的应用服务器的服务状态设置为可转发,
第二处理单元,用于轮询更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的存储使用率是否超过内存阈值,在更新后的服务状态表中将超过内存阈值的应用服务器的服务状态设置为不可转发,将未超过内存阈值的应用服务器的服务状态设置为可转发,
第三处理单元,用于轮询进一步更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的WEB应用的JVM(Java虚拟机)内存使用率是否超过JVM阈值,若有应用服务器的WEB应用的JVM内存使用率超过JVM阈值,则在所述进一步更新后的服务状态表中将超过JVM阈值的应用服务器的服务状态设置为不可转发,则将未超过JVM阈值的应用服务器的服务状态设置为可转发,
第四处理单元,用于轮询通过所述JVM阈值更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各服务器的WEB应用的当前连接数和最大连接数的比值,将所述比值最小的应用服务器确定为接收来自客户端端的请求的应用服务器。
一种用于WEB应用服务器群组的负载均衡方法和装置\n技术领域\n[0001] 本发明涉及计算机网络领域,尤其涉及一种用于WEB应用服务器群组的负载均衡方法和装置。\n背景技术\n[0002] 由于目前现有计算机网络的各个核心网络部分随着待处理的数据业务量的提升,访问量和数据流量的快速增长,对计算机网络设备的处理能力和计算强度要求也相应地提高,这使得单一的服务器设备根本无法承担。在此情况下,如果扔掉现有计算机设备去做大量纯粹的硬件升级,必将造成现有计算机设备资源的严重浪费,而且如果再面临下一次数据业务量的提升时,这又将需要再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前数据业务量增长的需求。然而,负载均衡建立在现有计算机网络架构之上,它提供了一种廉价、有效、透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡通过多台应用服务器以对称的方式组成一个应用服务器集合,该应用服务器集合中的每台应用服务器具有等价的地位,对于客户端而言,每台应用服务器可以独立地响应来自客户端的请求,都可以单独对外提供服务而无需其他应用服务器的辅助。\n[0003] 来自客户端的请求首先到达用于进行负载均衡的服务器,用于进行负载均衡的服务器采用负载均衡算法将请求分配给WEB应用服务器群组中的某一台应用服务器,然后该应用服务器响应客户端的请求,这是加入负载均衡后的WEB访问流程。目前常用的负载均衡算法,是通过计算WEB应用服务器群组中WEB应用的连接数,将来自客户端的请求发送给WEB应用连接数最小的WEB应用服务器。这种最小连接数均衡算法,由于只考虑到各个WEB应用服务器的当前连接数,并没有考虑各应用服务器之间的差异,导致负载往往达不到真正意义上的均衡,也就是说,无法实现性能较优的负载均衡。特别是在应用服务器主机资源使用率很高,而连接数很低的情形下,容易导致网络响应速度变慢,甚至服务器宕机等问题。\n发明内容\n[0004] 本发明提供了一种用于WEB应用服务器群组的负载均衡方法,该负载均衡方法利用应用服务器的当前WEB应用和应用服务器本身硬件资源两方面的性能指标,得到两方面服务状态均较优的应用服务器,从而将该服务状态较优的应用服务器作为接收客户端请求的服务器,可以达到性能较优的负载均衡,特别是较好地解决了应用服务器主机资源使用率很高而连接数很低情形下进行负载均衡,导致的网络响应速度变慢、甚至服务器宕机的问题。\n[0005] 根据本发明的第一方面,提供了一种用于WEB应用服务器群组的负载均衡方法,包括:\n[0006] 获取应用服务器群组中每台应用服务器的硬件性能指标、以及WEB应用的性能指标;\n[0007] 根据所述硬件性能指标和所述WEB应用的性能指标确定接收来自客户端的请求的应用服务器。\n[0008] 根据本发明的第二方面,提供了一种用于WEB应用服务器群组的负载均衡装置,包括:\n[0009] 获取模块,用于获取应用服务器群组中每台应用服务器的硬件性能指标、以及WEB应用的性能指标;\n[0010] 确定模块,用于根据所述硬件性能指标和所述WEB应用的性能指标确定接收来自客户端的请求的应用服务器。\n[0011] 实施本发明提供的用于WEB应用服务器群组的负载均衡方法和装置,在负载均衡中通过综合考虑应用服务器群组中各应用服务器的硬件性能指标和WEB应用的性能指标,与现有的最小连接数均衡法相比,可实现更优的负载均衡性能,并且可有效地缓解应用服务器主机硬件资源使用率很高而连接数很低时进行负载均衡所导致的网络响应速度变慢、甚至服务器宕机的问题。\n附图说明\n[0012] 图1图示了根据本发明实施方式的用于WEB应用服务器群组的负载均衡方法的流程图。\n[0013] 图2图示了根据本发明实施方式的用于WEB应用服务器群组的负载均衡装置。\n具体实施方式\n[0014] 为使本发明的实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。\n[0015] 参见图1,图示了根据本发明实施方式的用于WEB应用服务器群组的负载均衡方法的流程图,该方法具体可包括如下步骤:\n[0016] S101,获取应用服务器群组中每台应用服务器的硬件性能指标、以及WEB应用的性能指标;\n[0017] S102,根据所述硬件性能指标和所述WEB应用的性能指标确定接收来自客户端的请求的应用服务器。\n[0018] 本发明的实施方式中,用于进行负载均衡的服务器是采用各种分配算法把来自WEB客户端的服务请求分散到WEB应用服务器群组中可用的应用服务器的一种服务器。用于进行负载均衡的服务器通过管理进入WEB应用服务器群组的各应用服务器的数据流量和增加有效的网络带宽,来降低网络中WEB应用服务器对来自客户端的服务请求的平均响应时间,从而提高WEB应用服务器系统的响应性能。本发明实施方式中的用于进行负载均衡的服务器可以是PC机,也可以是交换机(集成了负载均衡器,即具有负载均衡功能的交换机)。用于进行负载均衡的服务器与WEB应用服务器之间通信在WEB客户端的WEB服务请求发送过程中采用超文本传输协议(Hyper text transfer protocol,HTTP),也就是说,来自WEB客户端的服务请求是以HTTP请求的形式向负载均衡服务器发送,然后负载均衡服务器根据负载均衡算法将这些HTTP请求形式的服务请求转发给应用服务器系统中可用的应用服务器,接收转发的WEB应用服务器响应服务请求,根据这些服务请求做出相应的业务处理后,向客户端返回这些服务请求所需要的资源。\n[0019] 用于进行负载均衡的服务器在对WEB应用服务器群组进行负载均衡时,获取应用服务器群组中每台应用服务器的硬件性能指标、以及WEB应用的性能指标。其中,每台应用服务器的硬件性能指标、和WEB应用的性能指标的获取可以通过在各应用服务器上部署监控模块来实现,例如该监控模块可以通过C语言实现,上述性能指标数据的采集可以实时采集。对于各台应用服务器的硬件性能指标,可以包括应用服务器的主机的CPU使用率、内存使用率。其中各应用服务器上设置有提供CPU使用率和内存使用率的接口,监控模块可以通过调用上述接口来采集CPU使用率和内存使用率数据。各应用服务器的监控模块还可以获取WEB应用的JVM内存使用率、WEB应用的当前连接数和最大连接数的比值。本发明实施方式中的应用服务器和WEB应用的部署关系,例如可以在26台WEB应用服务器上部署\n32个WEB应用,通常每天的WEB访问量在2000万左右,但在某些特殊的场景下(例如,瞬时访问量剧增),1秒钟的WEB访问量可以达到上百万。本发明的实施方式的WEB应用服务器Weblogic是基于JAVA EE架构,在其他配置条件一定的情形下,JVM(java虚拟机)的内存使用率越高,Weblogic的性能越低。WEB应用的最大连接数可以由应用服务器系统管理员进行设置,最大连接数的设置可以根据WEB应用所在应用服务器的各硬件性能、数据库性能、以及分配给WEB应用相应的资源等参数进行设置。其中,用于进行负载均衡的服务器与WEB应用服务器之间的上述硬件性能指标和WEB应用的性能指标的传输采用简单网络管理协议(Simple Network Management Protocol,SNMP)进行。所述采集的各应用服务器的硬件性能指标和WEB应用的性能指标保存在负载均衡服务器的内存中,采集的上述数据在存入内存后,会覆盖前次采集的数据,以尽量避免采集的上述指标数据重复占用内存空间,影响负载均衡服务器数据处理效率。\n[0020] 本发明的实施方式中,根据所述硬件性能指标和所述WEB应用的性能指标确定接收来自客户端的请求的应用服务器,具体而言,可以包括下述步骤:\n[0021] 轮询所述应用服务器群组中每台应用服务器上部署的监控模块,判断各台应用服务器的CPU使用率是否超过CPU阈值,在各应用服务器的服务状态表中将超过CPU阈值的应用服务器的服务状态设置为不可转发,将未超过CPU阈值的应用服务器的服务状态设置为可转发,其中,服务状态为可转发状态,表示可以作为接收客户端服务请求的候选应用服务器,服务状态为不可转发状态,表示不能作为接收客户端服务请求的候选应用服务器,将应用服务器的服务状态设置为不可转发,可以视为将这些应用服务器排除在可接收服务请求的应用服务器之外。对应用服务器群组中各应用服务器监控模块的轮询可以采用定时轮询的形式,例如,可以每隔0.2S(秒)向各应用服务器的监控模块发送请求。各应用服务器的服务状态表可以采用二维数组的形式实现,保存在负载均衡服务器的内存中,例如可以是服务状态表可以是如下表1的形式:\n[0022] 表1\n[0023] \n[0024] 表1中,应用服务器1-3的服务状态为0,不可转发,不能作为接收客户端服务请求的候选应用服务器,应用服务器4-6的服务状态为1,可转发,可以作为接收客户端服务请求的候选应用服务器。其中,CPU阈值可以设置为85%、86%、87%、88%、89%、90%等,本领域技术人员可根据应用服务器的具体CPU使用率进行确定。应用服务器的CPU使用率越高,其响应客户端服务请求的响应时间越长,在其他条件同等的情形下,越不适宜确定为接收客户端服务请求的应用服务器。在应用服务器的服务状态表中,将各应用服务器的服务状态初始设置为1,均可以转发,在进行CPU使用率判断后,将不可转发的应用服务器的服务状态更新为0。本发明的实施方式,通过对各应用服务器设置CPU阈值,将高于CPU阈值的应用服务器在服务状态表中设置为不可转发,避免了向响应时间较长的应用服务器发送服务请求,从而可以从CPU使用率这一方面降低服务请求的响应时间,提高WEB应用服务器系统的响应性能。\n[0025] 在根据CPU阈值对应用服务器的服务状态表进行更新后,轮询更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的存储使用率是否超过内存阈值,在更新后的服务状态表中将超过内存阈值的应用服务器的服务状态设置为不可转发,将未超过内存阈值的应用服务器的服务状态设置为可转发。本发明实施方式的内存阈值可以设置为80%、81%、82%、83%、84%、85%等。WEB应用服务器的内存使用率越高,其响应客户端服务器请求的响应时间越长,在其他条件同等的条件下,例如Web应用服务器的CPU使用率相同、WEB应用的JVM内存使用率相同、WEB应用的当前连接数和最大连接数的比值相同的情形下,WEB应用服务器的内存使用率越高,越不适宜确定为接收客户端服务请求的候选应用服务器。如果更新的服务状态表中该应用服务器的状态为可转发1,但在通过内存阈值判断后,超过内存阈值,那么将该应用服务器的服务状态更新为0,不可转发状态,没有超过内存阈值,那么不更新该应用服务器的服务状态,仍为1,可转发状态。本发明的实施方式,通过对各应用服务器设置内存阈值,在将CPU使用率超过CPU阈值的应用服务器置为不可转发外,进一步将高于内存阈值的应用服务器在服务状态表中设置为不可转发,避免了向响应时间较长的应用服务器发送服务请求,从而可以从内存使用率和CPU使用率两方面降低服务请求的响应时间,提高WEB应用服务器系统的响应性能。\n[0026] 在根据内存使用率对应用服务器的服务状态表进一步更新后,轮询进一步更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的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应用服务器系统的请求响应时间,提高了系统的响应性能。\n[0027] 在通过CPU阈值、内存阈值、JVM阈值对应用服务器的服务状态表进行更新后,轮询上述再次更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各服务器的WEB应用的当前连接数和最大连接数的比值,该比值可称为当前连接数比率,当前连接数比率= 当前连接数:最大连接数,其中,符号“:”表示数学上的比值。应用服务器上所部署的WEB应用的当前连接数比率越小,说明处于相对比较空闲的、可用的WEB连接所占的比率越大,该应用服务器越适宜作为接收客户端服务请求的应用服务器。\n[0028] 以上结合附图和实施方式对本发明提供的用于WEB应用服务器集群的负载均衡方法进行了说明,下面将结合附图和实施方式对实现上述负载均衡方法的负载均衡装置进行阐述。\n[0029] 参见图2,图示了根据本发明实施方式的用于WEB应用服务器群组的负载均衡装置。该负载均衡装置200具体可以包括:\n[0030] 获取模块201,用于获取应用服务器群组中每台应用服务器的硬件性能指标、以及WEB应用的性能指标;\n[0031] 确定模块202,用于根据所述硬件性能指标和所述WEB应用的性能指标确定接收来自客户端的请求的应用服务器。\n[0032] 本发明实施方式中的负载均衡装置可以部署在用于进行负载均衡的服务器上,其中用于进行负载均衡的服务器可以是PC机,也可以是交换机(集成了负载均衡器,即具有负载均衡功能的交换机)。本发明实施方式的获取模块201和确定模块202可部署在用于进行负载均衡的PC机或交换机上,利用负载均衡服务器的内存保存相应的数据。\n[0033] 用于进行负载均衡的服务器与WEB应用服务器之间通信在WEB客户端的WEB服务请求发送过程中采用超文本传输协议HTTP,也就是说,来自WEB客户端的服务请求是以HTTP请求的形式向负载均衡服务器发送,然后负载均衡服务器根据负载均衡算法将这些HTTP请求形式的服务请求转发给应用服务器系统中可用的应用服务器,接收转发的WEB应用服务器响应服务请求,根据这些服务请求做出相应的业务处理后,向客户端返回这些服务请求所需要的资源。\n[0034] 在对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应用的性能指标保存在负载均衡服务器的内存中,采集的上述数据在存入内存后,会覆盖前次采集的数据,以尽量避免采集的上述指标数据重复占用内存空间,影响负载均衡服务器数据处理效率。\n[0035] 本发明实施方式中的确定模块,具体而言,可以包括:第一处理单元,用于轮询所述应用服务器群组中每台应用服务器上部署的监控模块,判断各台应用服务器的CPU使用率是否超过CPU阈值,在各应用服务器的服务状态表中将超过CPU阈值的应用服务器的服务状态设置为不可转发,将未超过CPU阈值的应用服务器的服务状态设置为可转发;第二处理单元,用于轮询所述更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的内存使用率是否超过内存阈值,在所述更新后的服务状态表中将超过内存阈值的应用服务器的服务状态设置为不可转发,将未超过内存阈值的应用服务器的服务状态设置为可转发;第三处理单元,用于轮询所述进一步更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的WEB应用的JVM内存使用率是否超过JVM阈值,在所述进一步更新后的服务状态表中将超过JVM阈值的应用服务器的服务状态设置为不可转发,将未超过JVM阈值的应用服务器的服务状态设置为可转发;第四处理单元,用于轮询所述再次更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的WEB应用的当前连接数和最大连接数的比值,将所述比值最小的应用服务器确定为接收来自客户端的请求的应用服务器。\n[0036] 第一处理单元轮询应用服务器群组中每台应用服务器上部署的监控模块,判断各台应用服务器上CPU使用率是否超过CPU阈值,在各应用服务器的服务状态表中将超过CPU阈值的应用服务器的服务状态设置为不可转发,将未超过CPU阈值的应用服务器的服务状态设置为可转发。其中,服务状态为可转发状态,表示可以作为接收客户端服务请求的候选应用服务器,服务状态为不可转发状态,表示不能作为接收客户端服务请求的候选应用服务器,将应用服务器的服务状态设置为不可转发,可以视为将这些应用服务器排除在可接收服务请求的应用服务器之外。对应用服务器群组中各应用服务器监控模块的轮询可以采用定时轮询的形式,例如,可以每隔0.2S(秒)向各应用服务器的监控模块发送请求。各应用服务器的服务状态表可以采用二维数组的形式实现,保存在负载均衡服务器的内存中,其形式可以是表1的形式。其中CPU阈值可以设置为85%、86%、87%、88%、89%、90%等,本领域技术人员可根据应用服务器的具体CPU使用率进行确定。应用服务器的CPU使用率越高,其响应客户端服务请求的响应时间越长,在其他条件同等的情形下,越不适宜确定为接收客户端服务请求的应用服务器。在应用服务器的服务状态表中,将各应用服务器的服务状态初始设置为1,均可以转发,在进行CPU使用率判断后,将不可转发的应用服务器的服务状态更新为0。本发明的实施方式,通过对各应用服务器设置CPU阈值,将高于CPU阈值的应用服务器在服务状态表中设置为不可转发,避免了向响应时间较长的应用服务器发送服务请求,从而可以从CPU使用率这一方面降低服务请求的响应时间,提高WEB应用服务器系统的响应性能。\n[0037] 在根据CPU阈值对应用服务器的服务状态表进行更新后,第二处理单元轮询更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的存储使用率是否超过内存阈值,在更新后的服务状态表中将超过内存阈值的应用服务器的服务状态设置为不可转发,将未超过内存阈值的应用服务器的服务状态设置为可转发。本发明实施方式的内存阈值可以设置为80%、81%、82%、83%、84%、85%等。WEB应用服务器的内存使用率越高,其响应客户端服务器请求的响应时间越长,在其他条件同等的条件下,例如Web应用服务器的CPU使用率相同、WEB应用的JVM内存使用率相同、WEB应用的当前连接数和最大连接数的比值相同的情形下,WEB应用服务器的内存使用率越高,越不适宜确定为接收客户端请求的应用服务器。如果更新的服务状态表中该应用服务器的状态为可转发1,但在通过内存阈值判断后,超过内存阈值,那么将该应用服务器的服务状态更新为0,不可转发状态,没有超过内存阈值,那么不更新该应用服务器的服务状态,仍为1,可转发状态。本发明的实施方式,通过对各应用服务器设置内存阈值,在将CPU使用率超过CPU阈值的应用服务器置为不可转发外,进一步将高于内存阈值的应用服务器在服务状态表中设置为不可转发,避免了向响应时间较长的应用服务器发送服务请求,从而可以从内存使用率和CPU使用率两方面降低服务请求的响应时间,提高WEB应用服务器系统的响应性能。\n[0038] 在根据内存使用率对应用服务器的服务状态表进一步更新后,第三处理单元轮询进一步更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各应用服务器的WEB应用的JVM(Java虚拟机)内存使用率是否超过JVM阈值,若有应用服务器的WEB应用的JVM内存使用率超过JVM阈值,则在所述进一步更新后的服务状态表中将超过JVM阈值的应用服务器的服务状态设置为不可转发,则将未超过JVM阈值的应用服务器的服务状态设置为可转发。本发明实施方式的JVM阈值可以设置为90%、91%、92%、93%、94%、95%等。\n本领域技术人员可根据具体应用服务器的Java虚拟机参数进行相应的设置。由于部署本发明的web应用服务器weblogic是基于JAVA EE架构的,所以在其他条件一定的情况下,JVM(java虚拟机)的内存的使用率越高,weblogic的性能就会越低,其对客户端服务请求的响应时间也会随之增长,在其他条件同等的情况下,其越不适宜确定为接收客户端服务请求的候选应用服务器。本发明的实施方式,在利用CPU阈值和内存阈值将CPU使用率和内存使用率较高的拉长请求响应时间的应用服务器置为不可用状态,在此基础上,进一步通过将超过JVM阈值的应用服务器设置为不可转发,将在Java虚拟机内存使用率方面拉长响应时间的应用服务器排除,降低了WEB应用服务器系统的请求响应时间,提高了系统的响应性能。\n[0039] 在通过CPU阈值、内存阈值、JVM阈值对应用服务器的服务状态表进行更新后,第四处理单元轮询上述再次更新后的服务状态表中为可转发状态的应用服务器的监控模块,判断各服务器的WEB应用的当前连接数和最大连接数的比值,该比值可称为当前连接数比率,当前连接数比率= 当前连接数:最大连接数,其中符号“:”表示数学上的比值。应用服务器上所部署的WEB应用的当前连接数比率越小,说明处于相对比较空闲的、可用的WEB应用连接所占的比率越大,该应用服务器越适宜作为接收客户端服务请求的应用服务器。\n[0040] 综上所述,实施本发明提供用于WEB应用服务器群组的负载均衡方法和装置,通过对服务器群组中各应用服务器的硬件性能的各项指标和WEB应用的各项性能指标逐渐更新各应用服务器的服务状态表,确定出各项性能均较优的应用服务器作为接收客户端服务请求的应用服务器,实现了性能较优的负载均衡,也有效的解决了应用服务器主机硬件资源使用率很高而连接数很低时进行负载均衡所导致的网络响应速度变慢、甚至服务器宕机的问题。\n[0041] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。\n[0042] 以上所揭露的仅为本发明的一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
法律信息
- 2016-01-13
- 2013-07-24
实质审查的生效
IPC(主分类): H04L 29/08
专利申请号: 201310137004.X
申请日: 2013.04.19
- 2013-06-26
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2012-05-09
|
2010-10-12
| | |
2
| |
2010-09-15
|
2010-04-07
| | |
3
| |
2012-07-25
|
2011-12-21
| | |
4
| |
2011-09-21
|
2011-05-30
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |