CN101176073A - 不同服务器出现故障时调整服务器配置参数的装置和方法 - Google Patents

不同服务器出现故障时调整服务器配置参数的装置和方法 Download PDF

Info

Publication number
CN101176073A
CN101176073A CN200680016586.4A CN200680016586A CN101176073A CN 101176073 A CN101176073 A CN 101176073A CN 200680016586 A CN200680016586 A CN 200680016586A CN 101176073 A CN101176073 A CN 101176073A
Authority
CN
China
Prior art keywords
computer system
server computer
configuration parameter
server
fault
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
CN200680016586.4A
Other languages
English (en)
Other versions
CN101176073B (zh
Inventor
E·L·巴斯尼斯
M·玛杰德
J·M·桑托索索
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.)
Google LLC
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101176073A publication Critical patent/CN101176073A/zh
Application granted granted Critical
Publication of CN101176073B publication Critical patent/CN101176073B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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
    • 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
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/1034Reaction to server failures by a load balancer
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Abstract

负载平衡器检测服务器故障,并且将故障通知信息发送给其余的服务器。作为响应,一个或多个所述剩余服务器可以自主地调整它们的配置参数,由此允许所述剩余服务器更好地处理因所述服务器故障而带来的增加的负载。一个或多个所述服务器还可以包括性能测量装置,该性能测量装置在自主调整所述配置参数之前和之后测量性能,以确定所述自主调整是否提高了系统性能和提高了多少系统性能。以这种方式,服务器计算机系统可以自主地补偿分担工作负载的其他服务器计算机系统的故障。

Description

不同服务器出现故障时调整服务器配置参数的装置和方法
技术领域
本发明一般地涉及联网计算机系统,更具体地说,涉及处理联网计算机系统中的服务器故障的装置和方法。
背景技术
计算机的广泛快速增长促进了允许计算机之间相互通信的计算机网络的发展。随着个人电脑(PC)的引入,计算对于很多人来说变得很容易。允许计算机之间相互通信的个人电脑网络快速发展起来。
计算机网络允许称为“客户机”的计算机系统或程序从称为“服务器”的其他计算机系统或程序请求信息或服务。不同类型的服务器在本领域中是公知的。例如,Web服务器将网页传送或“提供”给发出请求的客户机。应用服务器托管可由客户机计算机系统或程序调用的软件应用。数据库服务器传送数据以响应到数据库的数据库请求(或查询)。要指出的是,“Web服务器”、“应用服务器”和“数据库服务器”的这些标记在本领域中用于描述服务器的特定功能,但是这些功能不是相互排斥的。因此,单个服务器可以执行Web服务器、应用服务器以及数据库服务器的功能。
通常,服务器需要高可用性,这意味着提供多个服务器,并且一个服务器出现故障时将导致随后的故障转移过程,从而在尽管出现故障的情况下仍继续处理。在此类情况下,通常使用负载平衡器来将工作分配给每个服务器。当服务器停机时,负载平衡器检测到此故障并通过将所有请求路由到其余未出现故障的服务器来尝试进行补偿。但是,其余服务器可能不能处理由故障导致的额外工作负载。结果,整个系统速度减慢,可能提供太慢而不能满足指定目标的性能或太慢而不能提供足够客户响应的性能。在没有一种方式来允许服务器计算机系统更好地补偿服务器之一的故障时,当服务器出现故障时,计算机行业将继续遭受降低的和可能不可接受的性能。
发明内容
本发明提供了一种服务器计算机系统。优选地,负载平衡器检测服务器故障,并且将故障通知信息发送给其余的服务器。作为响应,一个或多个所述剩余服务器可以自主地调整它们的配置参数,由此允许所述剩余服务器更好地处理因所述服务器故障而带来的增加的负载。一个或多个所述服务器还可以包括性能测量装置,该性能测量装置在自主调整所述配置参数之前和之后测量性能,以确定所述自主调整是否提高了系统性能和提高了多少系统性能。以这种方式,服务器计算机系统可以自主地补偿分担工作负载的其他服务器计算机系统的故障。
如附图中示出的,从本发明的优选实施例的以下更详细描述中,本发明的上述和其他特征和优点将是显而易见的。
附图说明
以下将结合附图说明本发明的优选实施例,其中相同的标号表示相同的元素,这些附图是:
图1是现有技术联网计算机系统的方块图,示出了三个服务器同等分担负载平衡器接收的工作负载;
图2是图1中的现有技术联网计算机系统在服务器2出现故障后的方块图,使得负载平衡器将所有网络业务路由到两个剩余的服务器;
图3是根据优选实施例的联网计算机系统的方块图;
图4是图3中的联网计算机系统在服务器2出现故障后的方块图,使得负载平衡器发送故障信号给两个剩余的服务器并将所有网络业务路由到两个剩余的服务器;
图5是根据优选实施例的装置的方块图;
图6是根据优选实施例的在负载平衡器检测到服务器故障时的方法的流程图;
图7是根据优选实施例在负载平衡器检测到服务器恢复时的方法的流程图;
图8是根据优选实施例的用于动态地确定配置参数的故障级别和在故障发生时将服务器的配置参数设置为所述故障级别的方法的流程图;
图9是根据优选实施例的使用由用户设置的配置参数的故障级别和在故障发生时将服务器的配置参数设置为所述故障级别的方法的流程图;
图10是示出了根据图9中的方法900的用户指定的配置参数故障级别的一个特定实例的表;以及
图11是根据优选实施例的用于在自主调整服务器的配置参数之前和之后测量服务器性能的方法的流程图。
具体实施方式
1.0概述
本发明涉及在多个服务器计算机之间分担请求。对于不熟悉多个服务器计算机之间分担请求的人员来说,本概述部分将提供有助于理解本发明的背景信息。
多个服务器计算机之间的公知分担
参考图1,实例现有技术联网计算机系统100包括连接到网络110的多个客户机105,网络110连接到负载平衡器120。注意,图1中的客户机105示为105A,105B,...,105N。负载平衡器120通过网络110从客户机105获得请求,并将这些请求路由到图1中示为130A、130B、130C的三个服务器计算机系统130之一。负载平衡器120的目标是平衡三个服务器计算机系统之间的负载。假定此实例中每个服务器计算机系统具有相同的配置,由此允许每个服务器处理相同数目的请求。在此情况下,负载平衡器将33.33%的请求路由到服务器130A,将33.33%的请求路由到服务器130B,并且将33.33%的请求路由到服务器130C。
每个服务器包括可以被设置以确定服务器的运行时性能的配置参数132。因此,服务器130A包括相应的配置参数132A;服务器130B包括相应的配置参数132B;并且服务器130C包括相应的配置参数132C。这些配置参数优选地由系统管理员设置为这样的值,该值在所有服务器正常工作时,用于调整服务器的性能以处理在正常操作条件下每个服务器需要处理的请求的预期负载。
配置参数可以包括数据库连接的最大数目、高速缓存中的预备语句的最大数目,以及线程的最大数目。这些配置参数的值通常被选择为在正常操作条件下最优化服务器的性能。因此,对于图1中的系统100,如果每个服务器计算机系统希望需要平均15个数据库连接,且在峰值负载时需要20个数据库连接,则对于三个服务器中的每个服务器,数据库连接的最大数目可以设置为20。注意,将配置参数中的数据库连接的指定数目调整为这样的值,所述值在所有三个服务器都正常工作时提供最佳性能。
现在假定服务器之一出现故障,如图2中所示出的。假定此实例中服务器130B出现故障。负载平衡器120包括检测任一服务器何时出现故障的故障检测装置122。一旦故障检测装置122检测到服务器120B出现故障,负载平衡器120现在就必须将请求路由到两个剩余的服务器130A和130C。结果是到每个剩余服务器的请求显著增加。因为所述三个服务器用于提供总数为60的可能的并发数据库连接,而现在三个服务器之一停机,对于两个剩余的服务器而言,总的可能的并发数据库连接现在减少到40。减少的连接总数使客户机在数据库连接变得可用之前要等待一些时间,由此负面地影响系统性能和响应时间。结果,虽然负载平衡器能够检测到服务器故障并将网络请求路由到剩余的服务器,但是针对正常操作调整的配置参数使服务器不能有效处理由于服务器之一出现故障而产生的增加的请求数。
2.0优选实施例的描述
优选实施例检测服务器计算机系统何时出现故障,通知剩余服务器计算机系统所述故障,由此允许一个或多个剩余计算机系统自主地将它们的配置设置调整到反映故障模式的新的值。配置设置的自主调整允许服务器动态地调整到故障条件,由此在不同服务器出现故障时提供增强的性能。此外,优选实施例在配置参数的自主调整之前和之后测量计算机系统的性能,由此确定自主调整在多大程度(如果有)上提供了帮助。
参考图3,根据优选实施例的联网计算机系统300包括连接到网络110的多个客户机105,网络110连接到负载平衡器320。负载平衡器320执行与以上根据图1所述的功能相同的负载平衡功能,将33.33%的请求路由到每个服务器计算机系统。负载平衡器320包括如上所述的故障检测装置122,并另外包括服务器故障通知装置324。当故障检测装置122检测到服务器之一出现故障时,服务器故障通知装置324将消息发送给每个没有出现故障的服务器。
一个或多个服务器计算机系统330包括配置参数332。如此处使用的,术语“服务器”广义地用于任何可以被客户机计算机系统或客户机程序调用的计算机系统。配置参数332可以包括前面描述的现有技术配置参数,并且可以包括设置为影响服务器性能的不同值的其他配置参数。一个或多个服务器计算机系统330可以另外包括自主配置参数调整装置334和性能测量装置336。在图3的系统300中,每个服务器计算机系统示为包括相应的配置参数332、自主配置参数调整装置334以及性能测量装置336。因此,服务器330A包括相应的配置参数332A、自主配置参数调整装置334A以及性能测量装置336A。服务器330B包括相应的配置参数332B、自主配置参数调整装置334B以及性能测量装置336B。服务器330C包括相应的配置参数332C、自主配置参数调整装置334C以及性能测量装置336C。
现在假定服务器330B出现故障,如图4所示出的。故障检测装置122检测到故障,并且将所有请求路由到两个剩余的服务器330A和330C。此外,服务器故障通知装置324将消息发送给服务器330A和服务器330C以指示服务器已出现故障。所述消息可以只是指示故障服务器的数目,或者可替代地具体标识哪个或哪些服务器出现故障。此外,所述消息还可指明服务器预期有多少额外工作。由于负载平衡器320将工作导向服务器,它知道故障服务器正在完成多少工作,存在多少剩余的服务器,以及因此会将多少工作添加到每个剩余服务器。一旦服务器330A从服务器故障通知装置324接收到服务器出现故障或服务器330B出现故障的消息,自主配置参数调整装置334A就自主地将一个或多个配置参数332A调整到这样的级别,所述级别允许因服务器330B的故障而更有效地进行处理。同样地,一旦服务器330C从服务器故障通知装置324接收到服务器出现故障或服务器330B出现故障的消息,自主配置参数调整装置334C就自主地将一个或多个配置参数332C调整到这样的级别,所述级别允许因服务器330B的故障而更有效地进行处理。以这种方式,负载平衡器320可以发信号通知未出现故障的服务器某一服务器已出现故障,从而允许未出现故障的服务器自主地将它们的配置参数调整为在故障环境中更有效地工作。负载平衡器320还包括这样的装置,所述装置检测服务器330B或替代服务器何时恢复联机,并且将消息发送给其他服务器以指示故障已消除。作为响应,自主配置参数调整装置可以重新将配置参数调整回它们的正常工作值。
参考图5,计算机系统330是根据本发明优选实施例的装置的一种适当实施方式。计算机系统330是IBM eServer iSeries计算机系统,并代表图3和图4中示出的服务器计算机系统330的一种特定实施方式。本领域的技术人员将理解,本发明的装置和设备可以等同地应用到任何计算机系统,与计算机系统是否是复杂多用户计算设备、单用户工作站或嵌入式控制系统无关。如图5中显示的,计算机系统330包括处理器510,主存储器520,大容量存储装置接口530,显示接口540以及网络接口550。这些系统组件通过使用系统总线560来相互连接。大容量存储装置接口530用于将大容量存储装置设备(如直接访问存储设备555)连接到计算机系统330。一种特定类型的直接访问存储设备555是可读写的CD RW驱动器,其可以向/从CD RW595存储/读取数据。
根据优选实施例的主存储器520包含数据521,操作系统522,配置参数332,自主配置参数调整装置334以及性能测量装置336。数据521代表任何用作到计算机系统330中的任何程序的输入或来自计算机系统330中的任何程序的输出的数据。操作系统522是业内已知为OS/400的多任务操作系统;但是,本领域的技术人员将理解,本发明的精神和范围不限于任何一个操作系统。配置参数332代表服务器计算机系统330中的任何可被设置为不同值以调整服务器计算机系统330性能的参数。配置参数332包括数据库连接的最大数目、高速缓存中的预备语句的最大数目,以及线程的最大数目。当然,配置参数332可以包括任何其他可以被设置或改变以影响计算机系统330的性能的适当参数。
自主配置参数调整装置334自主地将配置参数332调整到允许服务器330在不同服务器出现故障时更有效地工作的故障值。此外,一旦检测到服务器恢复,自主配置参数调整装置334就自主地将配置参数调整回正常级别。性能测量装置336在故障之后、在自主配置参数调整装置334对配置参数332做出调整之前,然后在自主配置参数调整装置334对配置参数332做出调整之后测量计算机的系统性能。通过比较之前和之后的性能值,性能测量装置336可以确定调整配置参数在提高计算机系统330的性能方面具有多大效果。如果提高不令人满意,则可以尝试配置参数的其他值以试图进一步提高性能。
计算机系统330利用公知的虚拟寻址机制,所述机制允许计算机系统330的程序表现为好像它们只是在访问单个大型存储实体,而不是在访问如主存储器520和DASD设备555之类的多个小型存储实体。因此,虽然数据521,操作系统522,配置参数332,自主配置参数调整装置334,以及性能测量装置336示为位于主存储器520中,但是本领域的技术人员将认识到,这些项不必完全同时包含在主存储器520中。还应指出的是,此处使用的术语“存储器”通常指计算机系统330的整体虚拟存储器,并可以包括连接到计算机系统330的其他计算机系统的虚拟存储器。
可以从一个或多个微处理器和/或集成电路来构建处理器510。处理器510执行存储在主存储器520中的程序指令。主存储器520存储处理器510可以访问的程序和数据。当计算机系统330启动时,处理器510初始地执行组成操作系统522的程序指令。操作系统522是管理计算机系统330的资源的复杂程序。这些资源中的一些资源是处理器510,主存储器520,大容量存储装置接口530,显示接口540,网络接口550,以及系统总线560。
虽然计算机系统330示为仅包含单个处理器和单个系统总线,但是本领域的技术人员将理解,本发明可以使用具有多个处理器和/或多个总线的计算机系统来实现。此外,优选实施例中使用的每个接口都包括单独的完全编程的微处理器,所述微处理器用于从处理器510卸载计算密集的处理。但是,本领域的技术人员将理解,本发明等同地应用于只使用I/O适配器来执行类似功能的计算机系统。
显示接口540用于将一个或多个显示器565直接连接到计算机系统330。这些显示器565,它们可以是非智能(即,简易)终端或完全可编程工作站,用于允许系统管理员和用户与计算机系统330进行通信。但是要指出的是,虽然提供了显示接口540以支持与一个或多个显示器565的通信,但是计算机系统330不是必须需要显示器565,因为所有需要的与用户和其他过程的交互可以通过网络接口550来进行。
网络接口550用于跨网络570将其他计算机系统和/或工作站(例如,图5中的575)连接到计算机系统330。不管如何将计算机系统330连接到其他计算机系统和/或工作站,不管网络连接570是使用现有的模拟和/或数字技术还是通过某些未来的网络机制,本发明均等同地适用。此外,可以使用许多不同的网络协议来实现网络。这些协议是允许计算机跨网络570通信的专用计算机程序。TCP/IP(传输控制协议/网络协议)是适合的网络协议的一个实例。
此刻,重要的是指出,虽然本发明已经并将继续在完全功能的计算机系统的上下文中描述,但是本领域的技术人员将理解,本发明能够以各种形式作为程序产品来分布,并且本发明均可等同地应用,与用于实际执行所述分布的计算机可读信号承载介质的特定类型无关。适当的计算机可读信号承载介质的实例包括:可记录型介质如软盘和CD RW(例如,图5中的595),以及传输型介质如数字和模拟通信链路。要指出的是,优选的信号承载介质是有形的。
现在参考图6,当负载平衡器检测到服务器故障时,方法600开始(步骤610)。负载平衡器通知(优选地通过将消息发送给剩余服务器)剩余服务器所述故障(步骤620)。一个或多个剩余服务器然后自主地将它们的配置参数调整到故障级别(步骤630)。在优选实施例中,存在两组不同的配置参数,一组针对正常操作来定义,另一组针对故障操作来定义。通过将配置参数设置为针对故障操作定义的值来将配置参数设置为“故障级别”。同样,通过将配置参数设置为针对正常操作定义的值来将配置参数设置为“正常级别”。方法600显示了如何检测服务器中的故障,并且响应于此,可以将一个或多个剩余服务器的配置参数自主地调整(或设置)为故障级别,使得剩余服务器可以比配置参数保持正常级别时更有效地处理增加的负载。
参考图7,当负载平衡器检测到服务器恢复时,方法700开始(步骤710)。负载平衡器通知(优选地通过将消息发送给剩余服务器)其他服务器所述恢复(步骤720)。一个或多个其他服务器然后自主地将它们的配置参数调整回正常级别(步骤730)。方法700显示了如何检测恢复,并且响应于此,可以将一个或多个剩余服务器的配置参数自主地调整(或设置)为正常级别。
优选实施例包括两个不同的定义配置参数的故障级别的方法。第一方法允许服务器动态地确定配置参数的适当故障级别(步骤810)。一旦动态地确定了这些故障级别,就可以将服务器的配置参数设置为这些故障级别(步骤820)。要指出的是,在步骤810中动态确定适当故障级别可以使用任何适当的算法或试探法来完成。例如,在图3和图4示出的简单实例中,一种动态确定配置参数的合适故障值的适当方法是应用线性伸缩因数。在此实例中,如果三个服务器都具有最大数目为20的数据库连接,则当服务器330B出现故障时,负载平衡器320知道已失去处理请求的能力的1/3。结果,到每个剩余服务器330A和330C的消息可以包括每个服务器的负载将增加50%的指示。作为响应,剩余服务器330A和330C可以将它们最大为20的数据库连接增加50%以达到每个服务器为30个数据库连接。在另一个实例中,每个服务器可以查看可用处理器或I/O带宽以确定对配置参数的适当调整,以便处理负载平衡器在消息中指定的增加负载。优选实施例明确地适合动态确定一个或多个服务器的配置参数的故障级别的任何和所有方式和方法。要指出的是,动态确定故障级别可以在故障发生前执行,且存储故障级别以供将来在故障发生时使用。
定义配置参数的故障级别的第二方法允许用户指定故障级别。然后可以在故障发生时检索这些用户指定的故障级别。参考图9,方法900开始于查找配置参数的用户指定的故障级别(步骤910)。然后将配置参数设置为故障级别(步骤920)。图10显示了包含三个列的表1000,一列包含配置参数的正常级别,第二列包含一组在一个故障服务器事件时的故障级别,第三列包含另一个组在两个故障服务器事件时的故障级别。这些级别优选地由用户指定。要指出的是,用户可以使用任何适当的工具来帮助确定配置参数的合适级别。当用户明确指定配置参数的正常级别和故障级别时,如图10中显示的,自主配置参数调整装置只需根据服务器是运行在正常模式(没有故障服务器)、在一个故障服务器的模式,还是在两个故障服务器的模式,将配置参数设置为表1000中的级别。
如图3-5示出的,优选实施例包括性能测量装置336。此性能测量装置336允许自主配置参数调整装置334判定调整是否具有提高服务器性能的期望效果。现在参考图11,方法1100开始于测量配置参数处于正常级别时的服务器性能(步骤1110)。在优选实施方式中,在恰好检测到服务器之一出现故障之后来测量配置参数处于正常级别时的服务器性能。这允许步骤1110中的测量代表正常配置参数时的性能(尽管已发生故障)。在自主配置参数调整装置334已将配置参数设置为故障级别之后,再次测量性能(步骤1120)。然后比较两次的性能(步骤1130)。如果提高令人满意(步骤1140=是),则方法1100结束。如果提高不令人满意(步骤1140=否),则调整(步骤1150)和应用(步骤1160)故障值。控制然后转到步骤1120,并且方法1100继续。性能测量装置336因此允许判定配置参数的故障级别是否产生了性能方面的期望增长。
性能测量装置336测量服务器性能的一种适当方式是测量servlet响应时间。servlet响应时间是执行servlet(其是可以被客户机调用的服务器上的程序)所需的时间。当然,在优选实施例的范围之内,可以使用其他适当度量来测量服务器性能。
优选实施例通过以下步骤增强了服务器处理故障的能力:检测服务器之一的故障,发信号通知剩余服务器已发生故障,一个或多个剩余服务器自主地调整它们的一个或多个配置参数,以便在故障导致增加了负载的情况下提高性能。一旦服务器恢复,一个或多个服务器就可以自主地将它们的配置参数调整回正常级别。此外,性能测量装置允许判定配置参数的故障级别是否如期望的那样提高了系统性能。

Claims (25)

1.一种服务器计算机系统,包括:
至少一个处理器;
存储器,所述存储器连接到所述至少一个处理器;
至少一个配置参数,可以根据所述服务器计算机系统的期望性能来将所述至少一个配置参数设置为不同的值;以及
自主配置参数调整装置,当所述服务器计算机系统接收到指示不同服务器计算机系统出现故障的消息时,所述自主配置参数调整装置调整所述至少一个配置参数。
2.根据权利要求1的服务器计算机系统,其中所述至少一个配置参数包括数据库连接的最大数目。
3.根据权利要求1的服务器计算机系统,其中所述至少一个配置参数包括高速缓存中的预备语句的最大数目。
4.根据权利要求1的服务器计算机系统,其中所述至少一个配置参数包括线程的最大数目。
5.一种联网计算机系统,包括:
多个服务器计算机系统;
负载平衡器,所述负载平衡器将请求路由到所述多个计算机系统,所述负载平衡器包括:
故障检测装置,所述故障检测装置检测所述多个服务器计算机系
统中的一个服务器计算机系统何时出现故障;以及
故障通知装置,当所述故障检测装置检测到所述一个服务器计算机系统出现故障时,所述故障通知装置将消息发送给所述多个服务器计算机系统中的至少一个服务器计算机系统;
所述多个服务器计算机系统中的至少一个服务器计算机系统包括自主配置参数调整装置,当从所述故障通知装置接收到指示所述一个服务器计算机系统出现故障的消息时,所述自主配置参数调整装置调整至少一个配置参数。
6.根据权利要求5的联网计算机系统,其中所述至少一个配置参数包括数据库连接的最大数目。
7.根据权利要求5的联网计算机系统,其中所述至少一个配置参数包括高速缓存中的预备语句的最大数目。
8.根据权利要求5的联网计算机系统,其中所述至少一个配置参数包括线程的最大数目。
9.根据权利要求5的联网计算机系统,其中所述消息指示由于所述一个服务器计算机系统的故障而预期有多少额外工作。
10.根据权利要求5的联网计算机系统,其中所述多个服务器计算机系统中的所述至少一个服务器计算机系统还包括性能测量装置,所述性能测量装置在调整所述至少一个配置参数之前测量所述至少一个服务器计算机系统的性能、在调整所述至少一个配置参数之后测量所述至少一个服务器计算机系统的性能,以及判定所述至少一个配置参数的调整是否提高了所述至少一个服务器计算机系统的性能。
11.根据权利要求5的联网计算机系统,其中所述负载平衡器检测故障恢复,并且当所述负载平衡器检测到所述故障恢复时,将消息发送给所述多个服务器计算机系统中的至少一个服务器计算机系统。
12.根据权利要求11的联网计算机系统,其中响应于来自所述负载平衡器的指示故障恢复的消息,所述多个服务器计算机系统中的所述至少一个服务器计算机系统将所述至少一个配置参数调整到正常级别。
13.一种用于在联网计算机系统中的多个服务器计算机系统之一出现故障时提高性能的计算机实现的方法,所述联网计算机系统包括将请求路由到所述多个服务器计算机系统的负载平衡器,所述方法包括以下步骤:
检测所述多个服务器计算机系统中的一个服务器计算机系统的故障;
将指示所述检测的故障的消息发送给所述多个服务器计算机系统中的至少一个服务器计算机系统;以及
当接收到指示所述一个服务器计算机系统的故障的消息时,所述多个服务器计算机系统中的所述至少一个服务器计算机系统自主地调整至少一个配置参数。
14.根据权利要求13的方法,其中所述至少一个配置参数包括数据库连接的最大数目。
15.根据权利要求13的方法,其中所述至少一个配置参数包括高速缓存中的预备语句的最大数目。
16.根据权利要求13的方法,其中所述至少一个配置参数包括线程的最大数目。
17.根据权利要求13的方法,其中所述消息指示由于所述一个服务器计算机系统的故障而预期有多少额外工作。
18.根据权利要求13的方法,还包括以下步骤:
在调整所述至少一个配置参数之前测量所述至少一个服务器计算机系统的性能;
在调整所述至少一个配置参数之后测量所述至少一个服务器计算机系统的性能;以及
判定所述至少一个配置参数的调整是否提高了所述至少一个服务器计算机系统的性能。
19.根据权利要求13的方法,还包括以下步骤:
检测故障恢复;
当检测到所述故障恢复时,将消息发送给所述多个服务器计算机系统中的至少一个服务器计算机系统;以及
响应于所述指示故障恢复的消息,所述多个服务器计算机系统中的至少一个服务器计算机系统自主地将所述至少一个配置参数调整到正常级别。
20.一种程序产品,包括:
自主配置参数调整装置,当服务器计算机系统接收到指示不同服务器计算机系统故障的消息时,所述自主配置参数调整装置调整所述服务器计算机系统中的至少一个配置参数;以及
可记录的计算机可读信号承载介质,其承载所述自主配置参数调整装置。
21.根据权利要求20的程序产品,其中所述至少一个配置参数包括数据库连接的最大数目。
22.根据权利要求20的程序产品,其中所述至少一个配置参数包括高速缓存中的预备语句的最大数目。
23.根据权利要求20的程序产品,其中所述至少一个配置参数包括线程的最大数目。
24.根据权利要求20的程序产品,其中所述消息指示由于所述一个服务器计算机系统的故障而预期有多少额外工作。
25.根据权利要求20的程序产品,还包括:
性能测量装置,所述性能测量装置在调整所述至少一个配置参数之前测量所述服务器计算机系统的性能、在调整所述至少一个配置参数之后测量所述服务器计算机系统的性能,以及判定所述至少一个配置参数的调整是否提高了所述服务器计算机系统的性能。
CN200680016586.4A 2005-06-09 2006-05-16 不同服务器出现故障时调整服务器配置参数的装置和方法 Active CN101176073B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/149,490 2005-06-09
US11/149,490 US7464303B2 (en) 2005-06-09 2005-06-09 Autonomically adjusting configuration parameters for a server when a different server fails
PCT/EP2006/062341 WO2006131437A2 (en) 2005-06-09 2006-05-16 Adjusting configuration parameters for a server when a different server fails

Publications (2)

Publication Number Publication Date
CN101176073A true CN101176073A (zh) 2008-05-07
CN101176073B CN101176073B (zh) 2010-09-22

Family

ID=37498800

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200680016586.4A Active CN101176073B (zh) 2005-06-09 2006-05-16 不同服务器出现故障时调整服务器配置参数的装置和方法

Country Status (4)

Country Link
US (4) US7464303B2 (zh)
CN (1) CN101176073B (zh)
TW (1) TWI387884B (zh)
WO (1) WO2006131437A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101895472A (zh) * 2010-07-16 2010-11-24 华为技术有限公司 流业务负载分担方法和处理方法以及相应的设备和系统
CN105049261A (zh) * 2015-08-24 2015-11-11 浪潮(北京)电子信息产业有限公司 一种双机热备数据的处理方法和系统
CN105049264A (zh) * 2015-08-24 2015-11-11 浪潮(北京)电子信息产业有限公司 一种数据处理方法和服务器端
CN105159796A (zh) * 2015-08-24 2015-12-16 浪潮(北京)电子信息产业有限公司 一种数据处理方法和服务器端
CN107436812A (zh) * 2017-07-28 2017-12-05 北京深思数盾科技股份有限公司 一种Linux系统性能优化的方法及装置

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7464303B2 (en) * 2005-06-09 2008-12-09 International Business Machines Corporation Autonomically adjusting configuration parameters for a server when a different server fails
JP4920391B2 (ja) * 2006-01-06 2012-04-18 株式会社日立製作所 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム
ITTO20060149A1 (it) * 2006-03-01 2007-09-02 Cisco Tech Inc Tecnica per l'instradamento ottimizzato di flussi di dati su una dorsale ip in una rete di computer.
US8103775B2 (en) * 2008-03-13 2012-01-24 Harris Corporation System and method for distributing a client load from a failed server among remaining servers in a storage area network (SAN)
JP5137746B2 (ja) * 2008-08-28 2013-02-06 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
EP3068107B1 (en) * 2008-09-05 2021-02-24 Pulse Secure, LLC Supplying data files to requesting stations
US8171124B2 (en) * 2008-11-25 2012-05-01 Citrix Systems, Inc. Systems and methods for GSLB remote service monitoring
KR100938738B1 (ko) * 2009-08-13 2010-01-26 삼성에스디에스 주식회사 전자 패치 장치, 네트워크 시스템 및 네트워크 시스템에서의 동작 방법
EP2504982B1 (fr) * 2009-11-27 2016-04-13 Orange Procede de basculement d'un hss primaire sur un hss de secours dans un reseau ip
US8676977B2 (en) * 2009-12-14 2014-03-18 Sonus Networks, Inc. Method and apparatus for controlling traffic entry in a managed packet network
US9288074B2 (en) * 2011-06-30 2016-03-15 International Business Machines Corporation Resource configuration change management
US8510807B1 (en) * 2011-08-16 2013-08-13 Edgecast Networks, Inc. Real-time granular statistical reporting for distributed platforms
US8914521B2 (en) 2011-09-27 2014-12-16 Oracle International Corporation System and method for providing active-passive routing in a traffic director environment
TWI501092B (zh) * 2013-11-19 2015-09-21 Synology Inc 伺服器群集之操作方法
EP3129878B1 (en) * 2014-04-10 2019-10-02 Telefonaktiebolaget LM Ericsson (publ) Elasticity engine for availability management framework (amf)
CN104021054A (zh) * 2014-06-11 2014-09-03 浪潮(北京)电子信息产业有限公司 服务器故障可视化侦测及处理方法、系统及可编程芯片
US9489270B2 (en) 2014-07-31 2016-11-08 International Business Machines Corporation Managing backup operations from a client system to a primary server and secondary server
CN105528262B (zh) * 2014-10-21 2019-03-19 杭州华为数字技术有限公司 一种实现内存镜像的方法及装置
US10382534B1 (en) 2015-04-04 2019-08-13 Cisco Technology, Inc. Selective load balancing of network traffic
CN105049263A (zh) * 2015-08-24 2015-11-11 浪潮(北京)电子信息产业有限公司 一种数据处理方法和系统
US11005682B2 (en) 2015-10-06 2021-05-11 Cisco Technology, Inc. Policy-driven switch overlay bypass in a hybrid cloud network environment
US10523657B2 (en) 2015-11-16 2019-12-31 Cisco Technology, Inc. Endpoint privacy preservation with cloud conferencing
CN109783277B (zh) * 2015-11-18 2023-12-29 华为技术有限公司 灾备端、生产端及两者之间的数据恢复方法
US10659283B2 (en) 2016-07-08 2020-05-19 Cisco Technology, Inc. Reducing ARP/ND flooding in cloud environment
US10263898B2 (en) 2016-07-20 2019-04-16 Cisco Technology, Inc. System and method for implementing universal cloud classification (UCC) as a service (UCCaaS)
US11044162B2 (en) 2016-12-06 2021-06-22 Cisco Technology, Inc. Orchestration of cloud and fog interactions
US10872072B2 (en) * 2016-12-12 2020-12-22 Massachusetts Institute Of Technology Storage-optimized data-atomic systems and techniques for handling erasures and errors in distributed storage systems
US10326817B2 (en) 2016-12-20 2019-06-18 Cisco Technology, Inc. System and method for quality-aware recording in large scale collaborate clouds
US10334029B2 (en) 2017-01-10 2019-06-25 Cisco Technology, Inc. Forming neighborhood groups from disperse cloud providers
US10552191B2 (en) 2017-01-26 2020-02-04 Cisco Technology, Inc. Distributed hybrid cloud orchestration model
US10892940B2 (en) 2017-07-21 2021-01-12 Cisco Technology, Inc. Scalable statistics and analytics mechanisms in cloud networking

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5062055A (en) * 1986-09-02 1991-10-29 Digital Equipment Corporation Data processor performance advisor
US5396635A (en) * 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
US5664106A (en) * 1993-06-04 1997-09-02 Digital Equipment Corporation Phase-space surface representation of server computer performance in a computer network
US5819030A (en) * 1996-07-03 1998-10-06 Microsoft Corporation System and method for configuring a server computer for optimal performance for a particular server type
US6715100B1 (en) * 1996-11-01 2004-03-30 Ivan Chung-Shung Hwang Method and apparatus for implementing a workgroup server array
US6263368B1 (en) * 1997-06-19 2001-07-17 Sun Microsystems, Inc. Network load balancing for multi-computer server by counting message packets to/from multi-computer server
US6385643B1 (en) * 1998-11-05 2002-05-07 Bea Systems, Inc. Clustered enterprise Java™ having a message passing kernel in a distributed processing system
GB0119145D0 (en) 2001-08-06 2001-09-26 Nokia Corp Controlling processing networks
US20040266442A1 (en) * 2001-10-25 2004-12-30 Adrian Flanagan Method and system for optimising the performance of a network
US7577951B2 (en) * 2002-05-30 2009-08-18 Hewlett-Packard Development Company, L.P. Performance of computer programs while they are running
CN1294509C (zh) * 2002-09-06 2007-01-10 劲智数位科技股份有限公司 具有分布式负载平衡系统的集群计算机
CA2534807C (en) 2003-08-14 2010-12-14 Lakshminarayanan Chidambaran On demand node and server instance allocation and de-allocation
US20060047794A1 (en) * 2004-09-02 2006-03-02 Microsoft Corporation Application of genetic algorithms to computer system tuning
US7962915B2 (en) * 2005-03-18 2011-06-14 International Business Machines Corporation System and method for preserving state for a cluster of data servers in the presence of load-balancing, failover, and fail-back events
US7464303B2 (en) * 2005-06-09 2008-12-09 International Business Machines Corporation Autonomically adjusting configuration parameters for a server when a different server fails

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101895472A (zh) * 2010-07-16 2010-11-24 华为技术有限公司 流业务负载分担方法和处理方法以及相应的设备和系统
US9419890B2 (en) 2010-07-16 2016-08-16 Huawei Technologies Co., Ltd. Streaming service load sharing method, streaming service processing method, and corresponding device and system
CN105049261A (zh) * 2015-08-24 2015-11-11 浪潮(北京)电子信息产业有限公司 一种双机热备数据的处理方法和系统
CN105049264A (zh) * 2015-08-24 2015-11-11 浪潮(北京)电子信息产业有限公司 一种数据处理方法和服务器端
CN105159796A (zh) * 2015-08-24 2015-12-16 浪潮(北京)电子信息产业有限公司 一种数据处理方法和服务器端
CN107436812A (zh) * 2017-07-28 2017-12-05 北京深思数盾科技股份有限公司 一种Linux系统性能优化的方法及装置

Also Published As

Publication number Publication date
WO2006131437A3 (en) 2007-08-23
US20080275970A1 (en) 2008-11-06
CN101176073B (zh) 2010-09-22
US20060294207A1 (en) 2006-12-28
TW200708980A (en) 2007-03-01
TWI387884B (zh) 2013-03-01
US7644321B2 (en) 2010-01-05
US7464303B2 (en) 2008-12-09
US20080276118A1 (en) 2008-11-06
US20080276119A1 (en) 2008-11-06
US7739555B2 (en) 2010-06-15
US7823012B2 (en) 2010-10-26
WO2006131437A2 (en) 2006-12-14

Similar Documents

Publication Publication Date Title
CN101176073B (zh) 不同服务器出现故障时调整服务器配置参数的装置和方法
EP2176775B1 (en) Automatically managing system downtime in a computer network
CN1645389B (zh) 用于实现高可用性系统的远程企业管理的系统和方法
US7937437B2 (en) Method and apparatus for processing a request using proxy servers
US7272755B2 (en) Apparatus and method for dynamically rerouting a network request based on shared predictive failure information
CN100465900C (zh) 信息系统、负载控制方法、负载控制程序和记录媒体
US7185096B2 (en) System and method for cluster-sensitive sticky load balancing
US8392758B2 (en) Remedying method for problems in virtual server system and system thereof
US8984328B2 (en) Fault tolerance in a parallel database system
US20070038885A1 (en) Method for operating an arrangement of a plurality of computers in the event of a computer failure
US5781737A (en) System for processing requests for notice of events
US20110214007A1 (en) Flexible failover policies in high availability computing systems
US20080288812A1 (en) Cluster system and an error recovery method thereof
US7716238B2 (en) Systems and methods for server management
US5768524A (en) Method for processing requests for notice of events
US7302477B2 (en) Administration tool for gathering information about systems and applications including the feature of high availability
US5768523A (en) Program product for processing requests for notice of events
WO2018171728A1 (zh) 服务器、存储系统及相关方法
US7882389B2 (en) Dynamic reassignment of devices attached to redundant controllers
US6675259B2 (en) Method and apparatus for validating and ranking disk units for switching
US8438271B2 (en) Performing services in a network data processing system
US20020078182A1 (en) Failover service method and system
JP2007265244A (ja) ウェブシステムの性能監視装置
US20040221003A1 (en) System and method for transmitting supporting requests in a data center with a support meta language
JP2000259539A (ja) トランザクション分配方法及び装置

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
ASS Succession or assignment of patent right

Owner name: GOOGLE INC.

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORP.

Effective date: 20120514

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20120514

Address after: American California

Patentee after: Google Inc.

Address before: American New York

Patentee before: International Business Machines Corp.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: American California

Patentee after: Google limited liability company

Address before: American California

Patentee before: Google Inc.