CN1938689A - 用于监控服务器的比较负荷的方法 - Google Patents

用于监控服务器的比较负荷的方法 Download PDF

Info

Publication number
CN1938689A
CN1938689A CN200580010147.8A CN200580010147A CN1938689A CN 1938689 A CN1938689 A CN 1938689A CN 200580010147 A CN200580010147 A CN 200580010147A CN 1938689 A CN1938689 A CN 1938689A
Authority
CN
China
Prior art keywords
server
address
dump
speed cache
load
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
CN200580010147.8A
Other languages
English (en)
Other versions
CN100543696C (zh
Inventor
朗达·齐尔德里斯
戴维·B.·库米尔
内尔·R.·彭奈尔
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.)
International Business Machines Corp
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 CN1938689A publication Critical patent/CN1938689A/zh
Application granted granted Critical
Publication of CN100543696C publication Critical patent/CN100543696C/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]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5033Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/3419Recording 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 by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • 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/88Monitoring involving counting
    • 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)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Multi Processors (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种包含用于检测一组服务器中的负荷不均衡并提供通知从而可进行纠正的方法的监控程序。本发明的实施例从地址解析协议(ARP)高速缓存读取以确定哪些服务器地址存在,然后清除ARP高速缓存。地址解析协议将通过其监听的流量并通过新请求重新装入高速缓存。通过周期性地执行这一询问和清除操作,跟踪程序可形成服务器的活动等级的概况。当存在明显的不均衡时,程序将通知控制台进行人为干预以解决该问题。跟踪程序可周期性地将它的结果写入日志文件,允许当需要时产生用于各种时间段的报告。通过这一机制,不仅可以快速检测到不均衡;而且可以通过将资源的已知能力与它的实际使用进行比较来改进不充分利用的问题。

Description

用于监控服务器的比较负荷的方法
技术领域
本申请涉及以及时和经济的方式来管理计算机服务。更具体地说,本申请涉及监控到一组服务器的流量,以便检测何时一个或多个服务器没有携带其预期的负荷。
背景技术
当配置任何类型的计算机系统时,重要的是使资源与期望的结果相匹配。分配的计算机资源方面的不足会意味着较慢的响应、顾客的不满意,并通常会产生较差的结果。然而,分配过多的资源会比较浪费并且影响业务的底线。因此,获得应用和各个资源的实际能力之间的良好匹配对于系统的商业成功是非常关键的。这一点在供应系统中更是如此,在供应系统中,计算机资源被提供给用户,并在用户间共享,其收益在很大程度上取决于这些资源的最佳使用。然而,尽管在配置计算机系统时非常尽力,但是资源的能力在实际实时情况下并不总是充分利用,并且在很多难以辨别的方面会与设计配置不同。例如,受欢迎的网站可公布用于访问的单个地址,但是仅对于下述服务器使用这一地址,所述服务器将请求转发到管理实际交互的多个事务服务器之一。现有程序将请求分布到各种事务服务器,但是会出现以下情况:这些程序不具有它们需要的所有信息,或者不具有纠正问题的能力。
一个示例可以说明此情况。新闻服务提供网址,可联系该地址以获取新闻。该地址指向单个的网络服务器,其将输入的请求送到5到10个的一组服务器,该组服务器能够服务于正常负荷。然而,在例如对于双子座的恐怖袭击的重大灾难期间,新闻服务会被请求淹没。使用专用于非常快速地提供信息技术服务的供应服务允许新闻服务集中于用于处理非预期负荷的附加服务器,此时,将新的请求传送到附加服务器。然而,根据协议,首先处理来自给定用户的请求的服务器在整个事务期间继续处理所述请求,所以即使存在可提供更好服务的其它服务器,但是大量用户会继续使用原来的服务器,为有线的带宽竞争。现有系统不具有跟踪访问站点的用户数量或者检查原来的服务器和那些新近分配的服务器正被等同使用的能力。
在使用范围的另一端,具有较大容量的大型服务器不会使用它几乎全部的能力,但仍会存在这样的可能性:由于没有数据可用于跟踪使用,所以系统管理软件不能清楚地识别出上述情况。过去,最经常地在故障分析期间,在对于项目的事后检查中发现这一信息。
因此,期望一种可跟踪服务器的使用的近似的机制,从而可注意到不均衡并加以纠正。
发明内容
本发明的第一方面提供一种监控网络上的一组服务器之内的服务器的比较负荷的方法,在所述网络中,第一服务器将请求转发到多个第二服务器。所述方法包括以下步骤:准备第一表,其包含多个第二服务器中的每一个的地址和各自的计数器;将地址解析协议高速缓存的拷贝转储到存储区域以形成高速缓存转储;根据高速缓存转储确定所述多个第二服务器中的哪些服务器出现在高速缓存转储中,并增加出现的每个第二服务器的相应计数器。在完成确定和增加步骤之后,该方法将多个各自的计数器互相比较以确定第二服务器之间的负荷不均衡是否大于阈值。如果负荷不均衡大于阈值,则发送关于负荷不均衡的消息。
本发明的第二方面提供一种网络,包括:第一服务器,连接到互联网并具有地址解析协议高速缓存;程序,在第一服务器上运行;以及多个第二服务器,连接以形成与第一服务器的网络。第一服务器将从互联网接收的多个请求转发到多个第二服务器的各个服务器。该程序执行以下步骤:
准备第一表,其包含多个第二服务器的每一个中的地址和各
自的计数器;将地址解析协议高速缓存转储到高速缓存转储;
对于高速缓存转储中的每个地址,如果高速缓存转储中的地址匹配第一表中的地址,则增加相应的计数器;
将多个计数器互相比较以确定第二服务器之间的负荷不均衡是否大于阈值;以及
如果负荷不均衡大于阈值,则发送关于负荷不均衡的消息。
本发明的一个方面提供一种监控程序,其包含用于检测服务器之间的不均衡并提供通知从而可进行纠正的方法。本发明的实施例从地址解析协议(ARP)高速缓存读取以确定哪些服务器地址存在,然后清除ARP高速缓存。地址解析协议将根据其监听的流量并根据新请求重新装入(repopulate)高速缓存。通过每几秒执行这一询问和清除操作,监控程序可形成各种服务器的活动等级的概况。当存在明显的不均衡时,程序将消息发送到控制台,从而可通知并解决该问题。监控程序可周期性地将它的结果写入日志文件,允许当需要时产生用于各种时间段的报告。通过这一机制,不仅可以快速检测到不均衡;而且可以通过将资源的预期使用模式与它的实际使用进行比较来改进不充分利用的问题。
根据本发明的计算机程序产品实现一组指令,所述指令用于控制数据处理装置的操作,在所述数据处理装置上执行所述程序以执行上述方法。
附图说明
在所附权利要求中阐述能表征本发明的新特征。然而,参照下面在结合附图的情况下进行的对示出的实施例的详细描述,将最佳地理解本发明本身、以及优选的使用模式,本发明进一步的目的和优点,在附图中:
图1A表示连接到互联网的供应系统的图形表示,而图1B示出可作为由供应系统管理的资源的一部分并且可在其中实现本发明的监控程序的一组服务器;
图2表示可实现为服务器的数据处理系统的框图;
图3表示示例性ARP请求记录;
图4表示根据本发明示例性实施例的示例性ARP高速缓存的一部分;
图5表示根据本发明示例性实施例监控服务器使用的监控程序的动作的流程图;
图6表示根据本发明示例性实施例用于各个服务器的跟踪活动的表;
图7表示网络和有关IP地址以示出可如何检测问题。
具体实施方式
现在参照附图,图1A表示通过互联网120向用户提供服务的供应系统的使用。服务提供者102提供各种受管理服务104。这些服务可包括但不限于:服务器、终端、盘空间和多种软件。期望这些服务128的用户122可通过互联网120或通过诸如电话的其它手段(未示出)联系提供者124。然后,由自动供应系统126来管理所述供应。合同可采用各种形式。例如,用户可与服务提供者124签订合同,以便在用户的地点设立服务器和终端,当用户122添加人员时,由提供者124添加终端。当接收到请求时,可通过自动供应系统将对软件的升级自动下载到用户的计算机。第二用户可能从事这样的业务:随着开始和结束不同的项目,计算需要随着时间而有相当大的变化。必要的话,这一用户可在其地点具有基本计算机设备,但是在项目的生存期间签订合同以使用来自服务提供者的服务器、存储器和软件。在第20020169876号题为“Method and System for Third Party ResourceProvisioning Management”的美国专利申请中描述了这种第三方供应系统,将其合并于此以供参考。
图1B表示可实现本发明并且由图1A的供应系统126供应的数据处理系统网络的图形表示。网络数据处理系统100连接到网络102,其用于提供在网络数据处理系统100之内连接到一起的各种设备和计算机之间的通信链路。
在所示的示例中,服务器104连接到网络102,以及互联网120。此外,存储单元106和服务器108、110、112、114和116连接到网络102。在所示的示例中,提供服务器104的地址作为互联网上用户的联系点。然而,服务器104随后将请求转发到其它服务器108-116。服务器104将具有执行服务器之间的负荷均衡的程序,以尽可能平均地传播负荷,但是负荷均衡是“粘”的,即,一旦将请求发送到给定的服务器,例如服务器110,所有来自该用户的请求将在该会话期间停留于同一服务器。在负荷较重的时期,供应系统126可提供附加服务器以处理工作负荷。网络数据系统100可包括其它未示出的设备。在所示的示例中,通过服务器104将网络数据处理系统100连接到互联网126。互联网126代表网络和网关的世界性集合,所述网络和网关使用传输控制协议/互联网协议(TCP/IP)协议组来彼此通信。在互联网的中心是主节点或主计算机之间的高速数据通信线路的骨干链路,所述主节点或主计算机包括成千上万的路由数据和消息的商用、政府、教育和其它计算机系统。可将网络数据处理系统100实现为多种不同类型的网络,诸如,内联网、局域网(LAN)或广域网(WAN)。图1试图作为示例,而不是作为本发明的结构限制。
参照图2,示出根据本发明优选实施例的可实现为诸如供应系统126的一部分的服务器或服务器104-116之一的服务器的数据处理系统的框图。数据处理系统200可以是包括连接到系统总线206的多个处理器202和204的对称多处理器(SMP)系统。或者,可采用单个处理器系统。还将存储器控制器/高速缓存208连接到系统总线206,所述控制器/高速缓存208提供对本地存储器209的接口。I/O总线桥210连接到系统总线206,并提供对I/O总线212的接口。可将存储器控制器/高速缓存208和I/O总线桥210集成为如图所示。
连接到I/O总线212的外围部件互连(PCI)总线桥214提供到PCI本地总线216的接口。可将多个调制解调器连接到PCI本地总线216。典型的PCI总线实现将支持四PCI扩展槽或内插式连接器。可通过经由内插式连接器连接到PCI本地总线216的调制解调器218和网络适配器220提供到图1的客户机108-112的通信链路。
附加PCI总线桥222和224提供用于附加PCI本地总线226和228的接口,可通过附加PCI本地总线226和228支持附加调制解调器或网络适配器。以这种方式,数据处理系统200允许到多个网络计算机的连接。如图所示,还可直接或间接地将存储器映射图形适配器230和硬盘232连接到I/O总线212。
本领域的普通技术人员将理解,图2所示的硬件可以变化。例如,除了所示的硬件之外或者作为其替代,还可使用诸如光盘驱动器等的其它外围设备。所示的示例并不意味着包含对于本发明的结构限制。
图2所示的数据处理系统可以是例如运行高级交互执行体(AIX)操作系统或LINUX操作系统的IBM e-Server p系列,其是位于纽约Armonk的国际商用机器公司的产品。
为了进行通信,所有网络设备具有唯一的、生产商定义的媒体访问控制(MAC)地址,通过所述地址可识别网络设备。MAC地址包含6字节,写为12个16进制数字,每一对由冒号分开。示例性MAC地址为0A:4B:00:00:07:08。另一方面,互联网协议(IP)地址是用于设备和互联网之间的连接的地址。通过区域来划分IP地址,并且由诸如互联网服务提供者(ISP)的区域之内的本地注册处来分配IP地址。IP地址为4字节,具有取决于地址落入的类别的格式。具有表示为10000000 00001011 00000011 00011111的二进制地址的示例性IP地址将写成128.11.3.31。尽管例如TCP/IP的较高层协议通过例如IP地址的符号地址来寻址主机,但是在例如图1B的网络102的单个网络之内,主机通过它们的MAC地址被知晓。
当计算机想要将消息发送到给定IP地址时,必须将这一IP地址转换为较低层设备可理解的物理硬件地址(MAC)。通过地址解析协议(ARP)提供上述转换,其中,地址解析协议保存用于此目的的查找表,称为ARP高速缓存。如果ARP在它的高速缓存中已经不具有所述MAC地址,则将对于这一信息的请求广播到网络。
参照图3,示出ARP请求消息300的格式。消息的头两个字节是硬件地址类型302,“1”表示以太网。接着的两个字节是协议地址类型304,0x0800表示IP。接下来的两个字节是一个字节的硬件地址长度字段306和一个字节的协议地址长度字段308,跟着的是两个字节的操作代码310,“1”表示请求,“2”表示响应。接下来的6字节是发送方的MAC地址312,跟着的是四个字节的发送方的IP地址314、用于存储目标的MAC地址的6个字节316以及四个字节的目标的IP地址318。
在发送ARP请求之前,计算机填入它自己的MAC地址312和IP地址314,填入目标的IP地址316,将操作模式310设置为“1”,并将目标的MAC地址设置为0。然后,广播这一请求;同时,将目标的IP地址添加到ARP高速缓存,指示出已经发送请求。当发送方接收到响应时,它将带有相应IP地址的接收器的MAC地址存储在ARP高速缓存中,而同时,将条目标记为完成。在请求处理的另一端,目标机器将识别它自己的地址并以下面两个动作响应所述请求:第一,由于目标将很可能接收来自该源的另外的联系,所以目标将发送方的地址保存在它自己的高速缓存中;第二,目标响应所述消息,提供它自己的MAC地址。没有将所述地址识别为它们自己的地址的其它计算机将丢弃所述广播消息。
如果ARP请求在单独的网络之内没有引起响应,则将所述请求广播到其它网络集线器以定位期望的连接。在这种情况下,返回带有添加的路由信息的物理硬件地址。ARP高速缓存将联系信息保存预定长度的时间,所述预定长度的时间可取决于或不取决于信息是否被再次访问。当预定的间隔,例如,10分钟过去时,将所述地址删除,从而空间成为对于更新近的地址可用。由正在使用的操作系统决定用于超时的ARP条目的时间限制,以及是否可更新所述时间限制。
图4演示简化的示例性ARP高速缓存400。在该系统中,地址解析协议不仅保存通过请求接收的地址,还监听经过它的通信流,并添加任何还未存在于高速缓存中的地址。ARP高速缓存的确切格式可随着系统的不同而变化;图中所示的高速缓存仅包含对于本发明必要的信息。在高速缓存400中,具有每个活动地址的记录,至少示出服务器或客户机的IP地址410、相应MAC地址415和时间字段420。时间字段420用于确定何时应该从表中去除条目、这或者是当设置的时间段已经过去、或者是当地址处于非活动状态已达到设置的时间段。示例性高速缓存400使用了存活时间(TTL,time-to-live)字段。在该系统中,当将条目添加到高速缓存时,将2160秒的时间值插入所述字段。该值将每秒减少1;如果到达0,则将空间释放以供另一地址使用。然而,每次请求或监听关联的地址,则将TTL字段复位为2160的开始值。以这种方式,只要地址是活动的,则条目将保持在高速缓存中,并且加上2160秒。系统还可使用相反的构思,在条目中将计数器设置为0,然后每秒增加计数器直到其到达界限,然后释放空间。如果计数器可复位到0,则只要条目具有规则的活动,则条目将保持在高速缓存中,但是如果计数器不能复位,则条目将仅保留在高速缓存中固定长度的时间。
当使用本发明的程序时,程序周期性地清除ARP高速缓存。当频繁地执行清除时,高速缓存将仅包含自从上次清除高速缓存开始一直活动的地址。当本发明的程序首次建立时,其通常大约每秒一次地检查和清除高速缓存。通过监控将相关服务器重新添加到高速缓存的速度,程序可确定服务器的活动的近似。
当检查高速缓存转储(dump)时,将信息存储在图6所示的表中。表600包含用于服务器地址的字段602和用于与所述服务器关联的计数器的字段604。每当在高速缓存转储中找到服务器地址602,就增加它相应的计数器604。
现在参照图5,我们可以看到用于根据本发明示例性实施例比较多个服务器的使用等级所必需的动作。将程序安装在用作网络(例如,网络102)和大型互联网之间的接口的网关服务器(例如,104)上。路由到这一网络的所有分组将经过与服务器104关联的路由器,从而ARP高速缓存包含关于服务器108-116的使用的信息。例如,先前提到的新闻服务将本发明的程序安装在位于公布的网站的服务器上。
维护一个该新颖程序可访问的、所关心的服务器例如服务器108-116的地址的列表。如果系统在临时条件下添加附加服务器,则将这些服务器的地址添加到所述列表。当程序开始时,将要跟踪的服务器的地址输入表600作为项目602(步骤510)。然后,将与服务器关联的计数器604清除为0(步骤515)。通过将ARP高速缓存的内容转储到工作区域并清除高速缓存中的条目来开始程序(步骤520)。这样,在该新颖程序检查服务器的活动的同时,地址解析协议可继续工作。跟踪程序随后查看其刚完成的ARP转储中的第一条目(步骤525)。确定存储在其中的地址是否是正被跟踪的服务器之一的地址(步骤530)。如果回答为“是”,则将用于所述服务器的计数器604加1(步骤535),否则将略过这一步骤。监控程序随后确定其是否正查看转储中的最后条目(步骤540)。如果不是,则跟踪程序增加到转储中的下一条目(步骤545),然后返回到步骤530以检查其余的高速缓存转储。
如果已到达高速缓存的末端,跟踪程序可分析其在表600中收集的信息。如果这是程序第一次转储并分析ARP高速缓存,则其将仅能够看出服务器在由高速缓存设置的时间段,例如,上述示例中的最后2160秒之内是否是活动的。然而,随着监控程序重复地转储和清除高速缓存,其可逐渐形成所有服务器在大多数或全部时间是否出现在高速缓存中的概念。如果服务器偶尔没有出现在ARP高速缓存转储中并不意外,但是如果这经常发生,则一般将指示出现问题,特别是如果操作人员可获得的其它指示器显示服务器在忙碌中。
监控程序比较各种服务器的计数器,以看它们是否相差超过阈值(步骤550)。如果回答为“是”,将消息发送到控制台(步骤555),连同收集的有关数据的拷贝。因此,程序本身没有纠正问题,但是通知操作人员存在可疑情况。如果服务器上的负荷没有相差超过阈值,则将所述消息略过。
可将累计总数周期性地写入日志文件并将其清除。用于记录日志的时间段可为从几分钟到几小时或几天。无论间隔被确定为何,程序将进行检查以看所述时间段是否已经过去(步骤560)。如果是,则将写入日志记录或日志报告,并且清除计数器604(步骤565)。在返回到转储和清除ARP高速缓存之前,程序确定服务器的数量是否已经改变(步骤570)。通常,这一回答将为“否”,并且程序再次转储和清除高速缓存(步骤520)。如果改变的条件已经造成服务器的数量增加或减少,则程序返回步骤510,其中所有预期服务器的地址记录在表600中,随后检查再次开始。
如同所有的计算机应用,在没有时间完成实际工作的情况下,程序在提供足够信息和花费如此多时间跟踪工作之间进行折衷。监控程序通过使用高速缓存的连续密集转储将最有效地工作。然而,随着活动的处理的置信度增加,例如,可每15分钟或每小时将监控器切回以运行1分钟。以这种方式,程序可获得它需要的数据,而不需要不断运行。当然,例如,在其它程序监控器指示存在潜在系统问题的情况下,可通过操作人员的输入将监控程序返回连续运行。
现在将参照图7来讨论服务器之间的不均衡的检测。在该示例中,具有IP地址0000.0c07.bc01的单个路由器将询问发送到四个不同的服务器,它们所在的IP地址为192.168.12.174、192.168.129.191、192.168.135.167和192.168.135.136。下面的表代表几个连续的高速缓存转储的部分以及在扫描的关联迭代之后产生的表。注意到在该系统中,高速缓存使用从0向上增加的年龄字段。
表1
协议        IP地址   年龄        MAC  类型    接口
互联网互联网互联网互联网互联网互联网互联网互联网互联网  192.168.12.174192.168.143.168192.168.129.191192.168.137.29192.168.135.167192.168.142.174192.168.129.131192.168.135.136192.168.135.172     61572093536  0000.8645.4b120002.55c2.06990000.864a.2ccd0004.bce4.c2260000.864a.35010003.47a7.c7ef0001.0384.02680002.5513.4d840002.8b2a.b65c  ARPAARPAARPAARPAARPAARPAARPAARPAARPA  Vlan12Vlan143Vlan129Vlan137Vlan135Vlan142Vlan129Vlan135Vlan135
高速缓存转储,时间=0
表2
 192.168.12.174192.168.129.191192.168.135.167192.168.135.136     1111
在第一次迭代之后的表
在第一次扫描中找到所有的预期服务器。一秒之后,再次发生转储。
表3
协议        IP地址  年龄        MAC  类型    接口
互联网互联网互联网互联网互联网互联网互联网互联网  192.168.129.191192.168.143.168192.168.135.167192.168.12.174192.168.129.131192.168.142.174192.168.137.29192.168.135.172  00000000  0000.864a.2ccd0002.55c2.06990000.864a.35010000.8645.4b120001.0384.02680003.47a7.c7ef0004.bce4.c2260002.8b2e.b65c  ARPAARPAARPAARPAARPAARPAARPAARPA  Vlan129Vlan143Vlan135Vlan12Vlan129Vlan142Vlan137Vlan135
高速缓存转储,时间=1
表4
  192.168.12.174192.168.129.191192.168.135.167192.168.135.136   2221
在第二次迭代之后的表
这次,服务器中的三个位于转储中,但是没有找到136服务器。一秒之后,再次发生转储。
表5
协议        IP地址  年龄        MAC  类型    接口
互联网互联网互联网互联网互联网互联网互联网互联网  192.168.129.191192.168.12.174192.168.135.167192.168.136.146192.168.129.131192.168.142.174192.168.137.29192.168.135.172  00000000  0000.864a.2ccd0000.8645.4b120000.864a.35010010.b48e.3be50001.0384.02680003.47a7.c7ef0004.bce4.c2260002.8b2e.b65c  ARPAARPAARPAARPAARPAARPAARPAARPA  Vlan129Vlan12Vlan135Vlan136Vlan129Vlan142Vlan137Vlan135
高速缓存转储,时间=2
表6
  192.168.12.174192.168.129.191192.168.135.167192.168.135.136   3331
在第三次迭代之后的表
再次,在高速缓存转储中没有找到136服务器。这可能是检测到问题,但是直到到达阈值之前,不认为是这样。我们假设阈值被设置为35秒,并在时间上向前跳。这里是第三十六次迭代的高速缓存转储。
表7
协议       IP地址  年龄        MAC  类型    接口
互联网互联网互联网互联网互联网互联网互联网互联网   192.168.137.29192.168.12.174192.168.146.17192.168.135.167192.168.129.191192.168.129.131192.168.142.174192.168.135.172   00000000  0004.bce4.c2260000.8645.4b120800.5bfc.9eb50000.864a.35010000.864a.2ccd0001.0384.02680003.47a7.c7ef0002.8b2a.b65c  ARPAARPAARPAARPAARPAARPAARPAARPA  Vlan137Vlan12Vlan430Vlan135Vlan129Vlan129Vlan142Vlan135
高速缓存转储,时间=35
表8
 192.168.12.174192.168.129.191192.168.135.167192.168.135.136  3636361
在第三十六次迭代之后的表
在这一迭代中,服务器136的出现和其它服务器的出现之间的差别到达阈值35。在这一点上,将该明显的问题通知给操作人员。
所述方法和系统提供对一组服务器的活动进行监控和报告的方法,使得操作人员能够当需要改变但先前并不明显时作出反应。
重要的是要注意到:尽管在完全地运行的数据处理系统的上下文中描述了本发明,但是本领域的普通技术人员将理解:本发明的处理能够以指令的计算机可读介质的形式和各种形式分布,本发明可以等同地适用,而不管实际用来实现分布的信号承载介质的具体类型是什么。
计算机可读介质的示例包括可读类型的介质,诸如软盘、硬盘驱动、RAM、CD-ROM、DVD-ROM,传输类型介质,诸如使用诸如以射频或光波传输为例的传输形式的数字和模拟通信链路、有线或无线通信链路。计算机可读介质可采用编码格式的形式,将所述编码格式解码,以在特定数字处理系统中实际使用。
为了示例和描述的目的提供了本发明的说明书,而并非试图穷举或将本发明限制于公开的形式。许多修改和变化对于本领域的普通技术人员将是明显的。实施例被选择和描述以便最好地解释本发明的原理、实际应用,使得本领域的其他普通技术人员能够理解本发明,为了适应所期望的具体应用,可以做出具有各种修改的各种实施例。

Claims (11)

1、一种用于监控网络上的一组服务器之内的服务器的比较负荷的方法,在所述网络中,第一服务器将请求转发到多个第二服务器,所述方法包括以下步骤:准备第一表,其包含所述多个第二服务器中的每一个的地址和各自的计数器;将地址解析协议高速缓存的拷贝转储到存储区域以形成高速缓存转储;根据所述高速缓存转储确定所述多个第二服务器中的哪些服务器出现在所述高速缓存转储中,并且对于出现的每个所述第二服务器,增加相应计数器;在完成所述确定和增加步骤之后,将所述多个各自的计数器互相比较以确定所述第二服务器之间的负荷不均衡是否大于阈值;并且如果所述负荷不均衡大于所述阈值,则发送关于所述负荷不均衡的消息。
2、如权利要求1所述的方法,其中,重复执行所述转储和确定步骤,并且在所述转储步骤的每次重复之后,清除所述地址解析协议高速缓存。
3、如权利要求1所述的方法,其中,在最初执行所述准备步骤,然后仅当将服务器添加到所述多个第二服务器或者从中去除时,才执行所述准备步骤。
4、如权利要求1所述的方法,还包括以下步骤:周期性地将所述计数器的值写入日志文件并清除所述计数器。
5、一种网络,包括:第一服务器,连接到互联网并具有地址解析协议高速缓存;多个第二服务器,连接以形成与第一服务器的网络,其中,所述第一服务器将从互联网接收的多个请求转发到所述多个第二服务器中的各个服务器;以及程序,在所述第一服务器上运行,所述程序执行以下步骤:准备第一表,其包含所述多个第二服务器中的每一个的地址和各自的计数器;将所述地址解析协议高速缓存转储到高速缓存转储;对于所述高速缓存转储中的每个地址,如果所述高速缓存转储中的所述地址匹配所述第一表中的地址,则增加相应计数器;将所述多个计数器互相比较以确定所述第二服务器之间的负荷不均衡是否大于阈值;以及如果所述负荷不均衡大于所述阈值,则将关于所述负荷不均衡的消息发送到操作台。
6、如权利要求5所述的网络,其中,所述程序重复执行所述步骤,并且在每个转储步骤之后,清除所述地址解析协议高速缓存。
7、如权利要求5所述的网络,其中,在最初执行所述准备步骤,然后仅当将服务器添加到所述多个第二服务器或者从中去除时,才执行所述准备步骤。
8、一种机器可读格式的计算机程序产品,所述计算机程序产品包括:用于准备第一表的第一指令,所述第一表包含多个服务器中的每一个的地址和各自的第一计数器;用于转储地址解析协议高速缓存以形成高速缓存转储的第二指令;用于对于匹配所述高速缓存转储中的地址的所述第一表中的每个地址,增加所述第一表中的相应计数器的第三指令;用于将所述多个第一计数器互相比较以确定所述第二服务器之间的负荷不均衡是否大于阈值的第四指令;以及第五指令,用于如果所述负荷不均衡大于所述阈值,则将关于所述负荷不均衡的消息发送到操作台。
9、如权利要求8所述的计算机程序产品,其中,所述程序重复执行所述步骤,并且在每个转储步骤之后,清除所述地址解析协议高速缓存。
10、如权利要求8所述的计算机程序产品,其中,在最初执行所述第一指令,然后仅当将服务器添加到所述多个第二服务器或者从中去除时,才执行所述第一指令。
11、如权利要求8所述的计算机程序产品,其中,所述程序还包括第十一指令,其用于提供在给定时间段所述第二服务器中的每个服务器处于活动状态的相对时间量的报告。
CN200580010147.8A 2004-04-08 2005-04-06 用于监控服务器的比较负荷的方法 Active CN100543696C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/821,053 US7454503B2 (en) 2004-04-08 2004-04-08 Method to identify transactions and manage the capacity to support the transaction
US10/821,053 2004-04-08

Publications (2)

Publication Number Publication Date
CN1938689A true CN1938689A (zh) 2007-03-28
CN100543696C CN100543696C (zh) 2009-09-23

Family

ID=34982007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200580010147.8A Active CN100543696C (zh) 2004-04-08 2005-04-06 用于监控服务器的比较负荷的方法

Country Status (9)

Country Link
US (2) US7454503B2 (zh)
EP (1) EP1754154B1 (zh)
JP (1) JP4738406B2 (zh)
CN (1) CN100543696C (zh)
AT (1) ATE376214T1 (zh)
CA (1) CA2562362C (zh)
DE (1) DE602005002953T2 (zh)
IL (1) IL178481A (zh)
WO (1) WO2005098626A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360328A (zh) * 2011-09-29 2012-02-22 用友软件股份有限公司 程序监控装置和程序监控方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7159077B2 (en) * 2004-06-30 2007-01-02 Intel Corporation Direct processor cache access within a system having a coherent multi-processor protocol
SE0403133D0 (sv) * 2004-12-22 2004-12-22 Ericsson Telefon Ab L M A method and arrangement for providing communication group information to a client
US7917625B1 (en) * 2005-01-14 2011-03-29 Sprint Communications Company L.P. Predictive processing resource level control
JP4499622B2 (ja) * 2005-03-30 2010-07-07 富士通株式会社 トラフィック分散装置,トラフィック分散プログラム及びパケット中継方法
CN1835014A (zh) * 2006-03-28 2006-09-20 阿里巴巴公司 一种对在线业务进行风险监控的方法及系统
US8521843B2 (en) * 2006-05-25 2013-08-27 Qualcomm Incorporated Methods and apparatus for sampling usage information from a pool of terminals in a data network
US7783748B2 (en) * 2006-05-25 2010-08-24 Qualcomm Incorporated Methods and apparatus for sampling usage information from a pool of terminals in a data network
US8560672B2 (en) 2006-05-25 2013-10-15 Qualcomm Incorporated Methods and apparatus for bandwidth efficient transmission of usage information from a pool of terminals in a data network
DE112007002682T5 (de) * 2006-11-06 2009-10-15 Dell Marketing USA L.P., Round Rock Ein System und Verfahren zum Verwalten von Daten über mehrere Umgebungen
JP4772854B2 (ja) * 2008-12-02 2011-09-14 株式会社日立製作所 計算機システムの構成管理方法、計算機システム及び構成管理プログラム
US8370460B1 (en) * 2012-01-10 2013-02-05 Edgecast Networks, Inc. Optimizing multi-hit caching for long tail content
US9548959B2 (en) * 2012-03-23 2017-01-17 Cisco Technology, Inc. Address resolution suppression for data center interconnect
WO2014128967A1 (ja) * 2013-02-25 2014-08-28 株式会社日立製作所 記憶制御装置、及びデータの書き込み完了を検知する方法
US9413610B2 (en) * 2013-04-24 2016-08-09 Ciena Corporation Network-based DHCP server recovery
US9264509B1 (en) 2014-09-25 2016-02-16 Fortinet, Inc. Direct cache access for network input/output devices
US10505818B1 (en) 2015-05-05 2019-12-10 F5 Networks. Inc. Methods for analyzing and load balancing based on server health and devices thereof
US20160364335A1 (en) * 2015-06-12 2016-12-15 Unisys Corporation Clear route cache commands for network communications platforms
US9935862B2 (en) 2015-09-08 2018-04-03 At&T Intellectual Property I, L.P. Low-impact proactive monitoring of customer access to virtualized network elements in a cloud platform

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664106A (en) * 1993-06-04 1997-09-02 Digital Equipment Corporation Phase-space surface representation of server computer performance in a computer network
US5596703A (en) * 1993-10-22 1997-01-21 Lucent Technologies Inc. Graphical display of relationships
US5455952A (en) * 1993-11-03 1995-10-03 Cardinal Vision, Inc. Method of computing based on networks of dependent objects
AU7360296A (en) 1995-09-11 1997-04-01 Mcsb Technology Corporation Performance assistant file system (pafs) method and apparatus
US20030033402A1 (en) * 1996-07-18 2003-02-13 Reuven Battat Method and apparatus for intuitively administering networked computer systems
US5724510A (en) * 1996-09-06 1998-03-03 Fluke Corporation Method of configuring a valid IP address and detecting duplicate IP addresses in a local area network
US5920699A (en) * 1996-11-07 1999-07-06 Hewlett-Packard Company Broadcast isolation and level 3 network switch
US5909549A (en) * 1996-11-12 1999-06-01 International Business Machines Corporation Network management system wherein the managed device reestablishes a connection to a management station after detecting a broken connection
JP3028783B2 (ja) * 1997-04-25 2000-04-04 日本電気株式会社 ネットワークの監視方法と装置
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
US6279001B1 (en) * 1998-05-29 2001-08-21 Webspective Software, Inc. Web service
US6182136B1 (en) * 1998-09-08 2001-01-30 Hewlett-Packard Company Automated service elements discovery using core service specific discovery templates
CA2360900A1 (en) * 1999-01-28 2000-08-03 Webspective Software, Inc Web server content replication
JP2002016622A (ja) * 2000-06-29 2002-01-18 Mitsubishi Electric Corp ネットワーク管理方式
JP2002033747A (ja) * 2000-07-13 2002-01-31 Hitachi Ltd 多重化ネットワークにおける障害監視方法
JP3645852B2 (ja) * 2001-11-19 2005-05-11 Necアクセステクニカ株式会社 負荷分散方法、コンテンツ配信システム及び負荷分散装置
CN1210911C (zh) * 2002-04-08 2005-07-13 华为技术有限公司 一种接入设备实时探测以太网接入计算机在线状态的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360328A (zh) * 2011-09-29 2012-02-22 用友软件股份有限公司 程序监控装置和程序监控方法
CN102360328B (zh) * 2011-09-29 2014-06-04 用友软件股份有限公司 程序监控装置和程序监控方法

Also Published As

Publication number Publication date
US20050262235A1 (en) 2005-11-24
IL178481A0 (en) 2007-02-11
WO2005098626A3 (en) 2005-12-01
CN100543696C (zh) 2009-09-23
EP1754154A2 (en) 2007-02-21
DE602005002953D1 (de) 2007-11-29
ATE376214T1 (de) 2007-11-15
US7836187B2 (en) 2010-11-16
DE602005002953T2 (de) 2008-08-21
WO2005098626A2 (en) 2005-10-20
JP2007532993A (ja) 2007-11-15
EP1754154B1 (en) 2007-10-17
IL178481A (en) 2011-03-31
US7454503B2 (en) 2008-11-18
CA2562362C (en) 2011-11-22
JP4738406B2 (ja) 2011-08-03
US20090037580A1 (en) 2009-02-05
CA2562362A1 (en) 2005-10-20

Similar Documents

Publication Publication Date Title
CN100543696C (zh) 用于监控服务器的比较负荷的方法
CN100367220C (zh) 用于在逻辑分区数据处理系统中管理资源的方法和设备
US10255148B2 (en) Primary role reporting service for resource groups
US7523454B2 (en) Apparatus and method for routing a transaction to a partitioned server
US8239535B2 (en) Network architecture with load balancing, fault tolerance and distributed querying
CN100479456C (zh) 用于促进所要求的能力的万维网服务器的远程动态配置方法和系统
JP5215840B2 (ja) 非同期イベント通知
CN103036977B (zh) 基于内容分发网络的业务推送方法及推送系统
CN100394418C (zh) 自治计算系统的动态在线多参数优化系统和方法
CN112307121B (zh) 基于Oracle的数据同步方法、装置及计算机设备
US6928477B1 (en) Availability and scalability in clustered application servers by transmitting expected loads of clients to load balancer
CN1549978A (zh) 用于会话复制和故障切换的方法和装置
CN111918225A (zh) 一种基于多运营商发送短信的方法
US20030055951A1 (en) Products, apparatus and methods for handling computer software/hardware messages
CN101467132B (zh) 用于在通信网络中分配数据处理单元的方法和系统
CN104184603A (zh) 一种用户状态统计方法、装置及系统
JP2005502957A (ja) 厳密に一回のキャッシュフレームワーク
CN114640705B (zh) 一种大规模物联终端心跳监控方法
CN206611434U (zh) 一种监控装置
KR100989490B1 (ko) 각 서버간 부하 분산 시스템 및 그 방법
CN114285786A (zh) 一种网络链路库的构建方法及装置
US9158464B2 (en) System and method for object integrity service
CN110837454A (zh) 接口监控的处理方法及服务器
CN117519583A (zh) 一种通过动态感知路由算法提高存储系统可用性的方法
CN114924799A (zh) 一种航空电子系统的去中心化系统管理方法

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