确定服务器利用率的制作方法

文档序号:6349600阅读:258来源:国知局
专利名称:确定服务器利用率的制作方法
确定服务器利用率

发明内容
本发明的各实施例由下面的权利要求书进行定义,而不由本概述进行定义。这里提供了本发明的各个方面的高级别的概述,以提供本发明的概述,并介绍将在以下详细描述部分进一步描述的一些概念。本概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。简而言之,并在高层次,本公开描述了,其中,导出表明给定服务器的利用率的服务器利用率以及导出表明一组服务器的总利用率的服务器组利用率的方式。本技术构想了基于服务器的组件(如磁盘、处理器,以及网卡)的工作量和工作容量导出因数,然后按照, 例如或者每一个组件的美元成本或者每一组件的功率用量来对这些因数加权。附图简述下面将参考附图详细描述本发明的说明性实施例,在附图中

图1描绘了适于实施本发明的实施例的说明性操作环境;图2和3描绘了根据本发明的各实施例的确定服务器的利用率的说明性方式;以及图4描绘了根据本发明的一个实施例的确定服务器组的利用率的说明性方法。详细描述此处用具体细节描述本发明的主题以满足法定要求。然而,描述本身并不旨在一定限制权利要求书的范围。相反,所要求保护的主题可结合其他当前或未来技术按照其他方式来具体化,以包括不同的步骤或类似于本文中所描述的步骤的步骤组合。此外,虽然此处可以使用术语“步骤”或其他通用术语来指示所使用的不同的组件或方法,但是除非而且仅当明确描述了各个步骤的顺序时,这些术语不应该被解释为意味着此处所公开的各步骤之间的任何特定顺序。本发明的各实施例可以被具体化为,其中在计算机可读介质上具体化的方法、系统或指令集。计算机可读介质包括易失性和非易失性介质,可移动的和不可移动的介质,并设想可由数据库、节点(计算设备)以及各种其他设备读取的介质。作为示例而非限制,计算机可读介质包括以任何方法或技术实现的用于存储信息的介质。存储的信息的示例包括计算机可使用的指令、数据结构、程序模块,及其他数据表示形式。介质示例包括,但不仅限于,信息传送介质、RAM、R0M、EEPR0M、闪存或其他存储技术,CD-ROM、数字多功能盘(DVD)、全息介质或其他光盘存储、磁带盒、磁带、磁盘存储器,及其他磁存储设备。这些技术可以临时或永久地存储数据。在整个本公开中,将引用多个缩写词/定义。为便于引用,它们被合并到下面的表中表I-缩写词/定义CUF 容量利用率
磁盘容量在给定时间段期间最大限度地可传输的数据量(如此处所使用的,不要将此与磁盘的大小相混淆)
DUF 磁盘利用率因数一磁盘的容量利用率的度

NIC容量网络组件容量=在给定时间段期间通过服务器的给定网络组件可传输的最大字节数
jm. 里
NIC工作网络组件工作量=通过服务器的给定网络组
量件传输的实际字节
NUF 网络组件利用率因数一构成服务器的一部
分的网络组件的容量利用率的度量处理器容在给定时间段期间处理器能够执行的指令量的最大数量
处理器利在给定时间段期间处理器操作占总容量的用率平均百分比。
PUF 处理器利用率因数一处理器的容量利用率的度量
RPI 相对性能指标一使一个处理器的速度与另一个处理器的速度相关的指标(RPI“2”的处理器以RPri"的处理器的性能两倍来操作。 SGUF 服务器组利用率因数一一组服务器的容量
利用率的度量 SUF 服务器利用率因数一服务器的容量利用率的度量在整个本公开中,将引用多个等式。为便于引用,它们被合并到下面的表中表2-等式(1)处理器工作量=(处理器利用率)*(处理器的数量)*(相对性能指标)*(时间段的度量)(2)处理器容量=处理器的数量)*(相对性能指标)*(时间段的度量)(3) PUF =(处理器工作量)/ (处理器容量)(4)磁盘工作量=(在给定时间段忙碌百分比)*(作为传输速率的代表的磁盘大小)*(时间段的度量)(5)磁盘工作容量=100% *(作为卷传输速率的代表的磁盘大小)*(时间段的度
量)(6) DUF =(磁盘工作量)/ (磁盘容量)(7)总磁盘CUF =(总磁盘工作量)/ (磁盘的容量的总和)(8)网络工作量=在某一时间段期间传输的实际字节(9)网络容量=在相同的某一时间段期间可传输的最大字节数量(10) NUF =网络工作量/网络容量(Il)SUFl = (PUF*处理器成本基准)+ (DUF*磁盘成本基准)[在某些实施例中, + (NUF+NIC成本基准)(12)SUF2 = (PUF*处理器功率基准)+(DUF*磁盘功率基准)[在某些实施例中, + (NUF+NIC功率基准)(13) SGUFl =(服务器中的所有愿意考虑的组件的所使用的美元价值)/(服务器中的所有愿意考虑的组件的总美元价值)(14)SGUF2 =(服务器中的所有愿意考虑的组件的功率用量)/(由服务器中的所有愿意考虑的组件可消耗的总功率)如上文简要提及的,本技术帮助确定(测量)服务器或服务器组利用率的一种方式是使确定基于除用量本身以外的某种东西,而基于诸如美元成本或功率用量特征之类的其他信息。现在转向图1,一般性地提供了适于实施本发明的实施例的说明性操作环境,并通过编号100来引用。操作环境100可包括各种服务器。说明性地示出了第一服务器110、 第二服务器112,以及第N服务器114,表明有更多服务器的可能性,甚至数百或数千服务器可以构成操作环境100。为简单起见,下面的描述可以专注于第一服务器110和第二服务器112,或者甚至只是第一服务器110,因为适用于第一服务器110的概念一般性地适用于任何其他服务器的概念。在一个实施例中,第一服务器110和第二服务器112直接或间接地耦合到处理服务器116。第一服务器110包括各种组件118,上文简要地提及了其各方面或示例。作为示例,第一服务器110包括一个或多个硬盘驱动器120,其被不同地称为“磁盘”,如它们在当前技术中那样。磁盘120通常以非易失性方式促进数据的大容量存储。一个或多个处理器122促进各种组件118以及更多组件上数据的交互和传递。处理器122可以由各种制造商制造,并可以具有各种属性。服务器可以具有一个处理器、两个处理器,或者甚至数十或可能数百个处理器。网卡124向第一服务器110外传递数据,并同样从例如网络1 接收数据,网络 126可以是局域网、广域网、因特网或将第一服务器110耦合到外部网络通信设备(如交换机、路由器、调制解调器等等)的某种其他网络。存储器1 通常被称为随机存取存储器,其可以呈现多种变体。通常,存储在存储器128中的数据是易失性的。监视应用程序130监视与组件118中的一个或全部相关联的属性。例如,监视应用程序130可以监视在磁盘120和存储器1 之间传输的数据量。类似地,监视应用程序130可以监视通过网卡IM传递的通信量。监视应用程序130可以监视处理器122在给定时间内所使用的用量。监视应用程序130可以检索或观察与组件118相关联的许多度量, 度量太多,这里就不一一列举。在一个实施例中,数据代理132从监视应用程序130接收数据,并促进某些度量存储在日志文件134中。将数据存储在日志文件134中不应该解释为对本发明的限制;相反, 作为执行即将比较详细地描述的本技术的方式的一个实施例的说明。代替将数据存储在日志文件134中,在某些实施例中,数据可以被实时使用,或以除日志文件134之外的某种其他方式存储。在一个实施例中,将执行按照下面的计算,以便将处理器利用率因数136、磁盘利用率因数138以及适用的网络利用率因数140存储在日志134中。下面将比较详细地描述这些。日志文件134还存储服务器ID 142,该服务器ID 142可操作以唯一地标识第一服务器110。在某些实施例中,数据代理132导出按照下面描述的服务器利用率因数144。在其他实施例中,处理服务器116可以接收PUF 136、DUF138,以及NUF 140,并由此确定服务器利用率因数144。S卩,可以使用多种导出服务器利用率因数144的方式。在一个实施例中,由处理服务器116检索从数据代理132 (或监视应用程序130)输出的数据146,或将该数据146传递到处理服务器116。此数据在处理服务器116中通过引用编号146A来表示,不是因为它不同于数据146,而是因为提供单独的引用编号将使说明本发明的实施例更加容易。第二服务器112还包括一组组件148,它们可包括磁盘150、处理器152、网卡154, 以及存储器组件156。我们并非想要通过在整个本说明书中使用单数和复数来暗示数值。一般而言,每当提及磁盘时,构想了多个磁盘也是可以。为了措词,有时使用单数可读性较佳, 但是,并非想要暗示单数。第二服务器112的组件148可以类似于第一服务器110的组件 118,但也具有不同的属性。例如,处理器152可以由与处理器122不同的供应商制造。另一示例可以是,处理器152具有与处理器122不同的体系结构。磁盘150本身大小可以是不同的,或者也可以是具有与磁盘120不同的大小。网卡IM和第二服务器112可以与网卡IM和第一服务器110具有处理能力的差异。本发明的一方面构想了这些差异;包含它们,并在最终确定服务器利用率因数或者服务器组利用率因数(下面将比较详细地描述) 时解决它们。第二服务器112还包括监视应用程序158,该监视应用程序158与数据代理160进行交互以填充(在一个示例中)日志文件162,该日志文件162存储处理器利用率因数164、 磁盘利用率因数166,以及网络利用率因数168。在一个实施例中,日志文件162还存储唯一地标识第二服务器112的服务器ID 170。在某些实施例中,如果数据代理160可以访问存储在数据库174中的数据类型,则它可以计算其服务器利用率因数172。数据库174可以存储各种类型的信息,包括,例如,服务器硬件信息176、组件定价信息178、以及组件功率用量信息180。服务器硬件信息176可以采用服务器的硬件配置文件的形式。例如,服务器硬件信息176可包括关于组件118、第一服务器110或组件148以及第二服务器112的详细信息。如此,通过第一服务器110、ID 142或服务器ID 170,可以收集与组件118或148的不同的集相关联的信息,并将其提供给与处理服务器116相关联的收集服务182。组件定价信息178包括与各种组件相关联的定价信息。组件定价信息178可以基于当前更换成本或过去的实际成本。更进一步,定价信息可以被表示为总服务器成本的一部分。在一个实施例中,组件定价信息178包括被映射到构成某一服务器的组件的美元成本。例如,磁盘120在购买时可以具有成本$400。处理器服务器122在购买时可以具有成本$250。此数据可以构成组件定价信息178的一部分。或许,如果磁盘150必须被更换,则它可能要花费$5,000。处理器152可能要花费$1,100来更换。此信息也可以构成组件定价信息178。在一个实施例中,实际定价信息被存储在数据库174中。在其他实施例中,例如,通过因特网来实时地搜寻此数据。即,可能有这样的情况实时地从一个或多个外部源检索定价信息。在其他实施例中,组件定价信息178被记录并存储在数据库174中。多个组件定价信息还可以用于不同的目的(具有一个以上的SUF1);例如,组件定价上的CUF和 /或组件定价和维护成本(磁盘需要不时地被更换)上的CUF等等。功率用量信息180表明服务器的各种组件消耗的功率量。在某些实施例中,这采取说明书类型的信息的形式,其中,使用设备额定功率。例如,已知处理器消耗χ瓦的功率, 那么,该数据被作为功率用量信息180的一部分来存储。在其他实施例中,可以进行实际功率测量,并用于构成功率用量信息180。例如,人可以实际确定磁盘120在操作中正在消耗的功率量。然后,可以使用此数据来填充功率用量信息180。如此,功率用量信息180可以是实际的或估计的。收集服务器182收集数据库174中的各种数据,并与数据146A和184A(与数据 184相同或类似的,类似于数据146(两者都是从监视应用程序收集的某些组件的利用率因数或用量信息数据)一起使用此信息。收集服务182接收数据146A、184A,及其他数据(如果适用的话)为服务器导出各个服务器利用率因数,或者到处指示希望被考虑的所有服务器的容量的总利用率指示的服务器组利用率因数186。现在将描述计算我们前面提及的各种利用率因数的方式。一般而言,再次,将通过引用诸如第一服务器110之类的任意服务器的组件来进行,以使说明更简单。将从介绍计算机工作量的概念开始,然后根据本发明开发的技术来说明计算各种利用率因数。下面是关于计算机工作量、工作容量的初步讨论,以及对这些概念在服务器硬件 (或作为服务器起作用的任何计算设备)上下文中的某些实际应用的评论。谈及的计算机工作量的概念在某种程度上基于由Kenneth Kolence在Introduction to Software Wiysics (软件物理的介绍)(McGraw-Hill,1985)所提出的软件工作量的想法。本发明扩展了此概念,将概念映射到计算机工作量来代替软件工作量,例如,包括引入组件的工作容量,并将此关联到计算机工作量以及实际上将这些概念应用到硬件。本发明的一个方面包括跨各种类型的多个服务器管理工作量和容量元素,甚至在每一个服务器都由各种类型的多个组件构成的情况下。管理包括组合计算机工作量、组件工作容量,及其他元素以对多个服务器到处利用率度量(甚至单个指示)。计算机工作量是在给定类型的计算机组件上执行的工作的一般而言的不变的度量。描述了诸如处理器、磁盘、网络组件(如网卡或主板内嵌的组件)之类的各种类型的组件的计算机工作量和工作容量。对于处理器,相对简单的解决方案将是将工作量定义为执行的处理器指令的数量。但是,这并不总是切实可行的,因为(a)不同的处理器(例如,122、152)可以具有不同的指令集(因此执行相同高级软件功能/事务可能会导致在不同的处理器上执行不同数量的指令),以及(b)监控设备常常不会测量由处理器执行的指令的数量;而监控处理器处于活动状态的时间量和在什么活动级别。处理器工作量的两个可使用的度量包括执行的处理器周期的数量以及相对处理器功率度量。在最后一秒对以利用率系数50%的2GHz处理器执行的处理器周期的数量可以被推断为1千兆周;在相同条件下3GHz处理器将执行1. 5千兆周。此方法相对简单,特别是当数据中心中的服务器包括具有相同或类似的体系结构、主要在时钟速度方面不同的处理器时。然而,当比较具有迥然不同的体系结构或由不同的制造商制造的系统时,该方法不太准确。在一个实施例中,可以利用标准基准(诸如SPEC-INT)的相对处理器功率度量构想了利用处理器利用率乘以由标准基准度量的处理器速度的比值。基准的使用可用来将所使用的处理器时间转换为标准值(例如,指令),因此,允许对在不同的体系结构或性能水平的处理器上执行的工作量进行更准确的比较。此方法稍微复杂一些,但是,当涉及不同的处理器体系结构或类型时更准确。处理器的工作容量被定义为处理器在给定时间段内能够执行的最大工作量。也参见下面将更详细地说明的等式O)。在一个实施例中,可以从诸如处理器利用率、基准结果以及处理器时钟周期数据之类的数据计算处理器工作量和工作容量(为便于引用,此处不同地称为“处理器容量”)两者。可以通过组合上面的和/或引入例如与每个指令的平均周期数、指令混合、不同类型的基准、诸如缓存大小的水平之类的其他处理器体系结构细节等等相关联的额外的元素,来引入更多的处理器工作量度量。处理器的容量定义是完全相关时间段的最大处理器利用率100%。对于磁盘(例如,120),制定了磁盘工作量的多个概念。磁盘工作量的第一度量是在磁盘和服务器之间传输的字节量。也参见下面将更详细地说明的等式G)。此度量是不变的,因为它不取决于磁盘类型。在服务器上执行事务将要求相同的字节传输,而不管什么类型的磁盘连接到服务器。但是,此定义对于实际使用是不足的。它只是由操作系统看到的数据传输。例如, 将1兆字节/秒传输到膝上型计算机样式的磁盘在操作上与在服务器样式磁盘或磁盘阵列上这样做不同。另外,现代的磁盘具有大的存储器缓存,它们的控制器也是如此。某些操作系统只报告在系统和磁盘控制器之间传输的数据。但是,这些传输中的某些在现实中是控制器存储器缓存和操作系统缓存之间的传输,这可以在现代磁盘中是重要的。如此,如前所述的工作量的定义可能不总是具有(通常不具有)工作容量的对应的实际的估计一如果磁盘被完全使用,则可以传输多少字节。有时,在现实中,数据传输速率比它们的声称的速率高得多。这常常是因为有健壮的缓存,并说明了在试图定义磁盘容量(磁盘能够执行的最大工作量)时的不切实际。该容量将强烈地取决于缓存行为(以及可能,其他效果)。在某些实施例中,本技术负责将磁盘用于不同的目的,如长期存储数据(其中,主要使用是对磁盘表面的使用)对此存储短期数据,用于快速检索(如操作系统缓存、临时文件等等)一其中,主要使用是磁盘通道带宽(1/0)。磁盘工作量的第一附加的度量(活动)与磁盘忙于读取或写入的时间百分比相关。为比较各种磁盘,将该百分比乘以磁盘大小,在其他实施例中,乘以其它系数。磁盘工作量的第二度量(存储)与在磁盘上使用的存储量相关。
这两个与磁盘相关联的度量都预期对工作容量的估计。在存储上下文中,工作容量(不同地被称为“磁盘容量”,不只是磁盘的大小)是总磁盘存储。在活动上下文中,磁盘容量是通道忙碌时间乘以磁盘大小的100%。还可能有磁盘工作量的附加的度量,通过组合上面的和/或通过添加新元素来考虑磁盘控制器、条带、磁盘阵列的内部组织等等。对于网络组件(如124)( —般将其称为“卡”或“NIC”,但并非想要对其附加狭义的定义,因为某些网络接口控制器被集成到服务器,甚至被置于服务器外部),网络工作量的定义是由网卡传输的字节的数量。工作容量是从卡的数据传输速率(如1千兆/秒)乘以给定时间段导出的。可以通过添加或分开地考虑与网络组件实现、其与操作系统的接口、 协议等等相关的其他效果,来包括网络工作量的附加的度量。类似的工作量以及容量使用度量可以类似地结合我们的技术用于其他组件(例如,存储器)。容量利用率因素(CUF)度量。将描述CUF度量(例如,PUF 136、DUF 138、NUF 140),它们使用如上文所描述的计算机的元素或组件工作量,将它们与其它元素(例如,数据库174中的数据)组合,以导出服务器或服务器组的总利用率的各种度量。可以使用总体因数来比较服务器之间的、月艮务器组之间的、服务器和服务器组之间的等等的利用率。它还可以被用来有意义地合计服务器组或各个服务器的利用率。单个服务器利用率在高层次,本技术构想了首先计算服务器组件(例如,118或更多)的利用率,并从利用率导出诸如SUF 144之类的给定服务器的利用率因数。对于每一个服务器组件,在一个实施例中,利用率被定义为在给定时间段(秒、分钟、小时、天等等)期间由组件完成的工作量与其工作容量(或仅“容量”)的比率。如上文所提及的,工作量(至少如此处所使用的)是在某个时间段内完成的某个活动的量。工作量不是将反映速率的每秒钟活动的度量。如等式(1)所示的那样来计算处理器工作量(所有等式都被包括在上面的表II 中)处理器工作量=处理器利用率/100)*(数量的处理器)*RPI*时间段,其中,% 处理器利用率是在给定时间段期间所有处理器的平均利用率(其可以由监视应用程序130 来提供)。RPI是相对性能指标,其使给定服务器的处理器的速度与其他服务器的处理器相关。RPI可以只是时钟速度(如2GHz)或某个基准导出的值(如SPEC-INT(有关此基准的细节,参见spec, org),MIPS等等)。在该时间段内完成的处理器工作量是执行的指令的数量或处理器周期的数量。例如,考虑有2个处理器的服务器运行3600秒,在该时间内,平均处理器利用率为 20%。假设处理器每秒能够处理1千兆指令(容量)(相对性能指标=1)。对于这样的服务器,处理器工作量=0. 2*2*1*3600 = 1440 [千兆指令]。工作容量是处理器能够执行的指令的数量。假设它在全部时间都以全容量工作 处理器容量=1. 0*2*1*3600 = 7200千兆指令。如此,处理器利用率因数(PUF) 136将是1440/7200 = 0. 2。一般而言,操作系统规范可以提供给定时间期间的平均处理器利用率,如“最后一小时20%”。但是,系统可能不会全部时间都一直运行。考虑2个处理器的服务器以20%的平均利用率工作了 12个小时,但是然后被停机维护了 12个小时。假设每一个处理器的相对性能指标都是1 (如在前面的示例中),处理器工作量=0. 2[利用率]*2[处理器数]*l[rpi]*43200[秒数=12小时]=17观00。但是,应该针对全天,而不只是运行时间来计算工作容量处理器工作量=1.0 [利用率]*2 [处理器数]*l[rpi]*86400 [秒数=12 个小时]=1728000ο如此,PUF[每天]136 将是 17^00/1728000 = 0.1ο在一个实施例中,使用0. 2的利用率因数和全天的时间因数(86400秒)来计算处理器工作量是不正确的一只有在服务器在运行的情况下G3200秒)才执行工作。所报告的平均利用率只适用于当服务器在运行时的时间,而不适用于全天。对于单个服务器,PUF 136 一般将等于利用率(当所有处理器都具有相同RPI 时)。当考虑多个服务器时会存在差异(下面将更详细地描述)。磁盘组件。可以使用不同的工作量的定义,以多种不同的方式来计算磁盘利用率因数 (DUF) 138。磁盘工作量的一个定义是在磁盘120和服务器存储器1 之间传输的字节的数量。此度量是不变的;将磁盘改为某种其他磁盘类型不会改变传输的字节的数量。但是,在操作上,计算DUF 138涉及知道磁盘工作量和磁盘工作容量两者(或仅称为“磁盘容量”)。 在此情况下,磁盘容量可以被定义为可在磁盘120和存储器1 之间传输的最大字节数量。 在实践中,此度量可能太难以在足够的准确性的情况下获得。如上文所提及的,现代的磁盘与控制器结合地操作,并具有内嵌存储器缓存,缓存有时较大。当应用程序具有局部化访问模式时,大量的操作是作为服务器-存储器-至-磁盘-缓存-存储器操作来执行的,而没有任何物理磁盘访问。缓存操作比物理磁盘操作快得多(可能达10倍)。如此,比方说,额定为80兆字节/秒的磁盘(当执行实际磁盘操作时,如读取大文件)可以在执行许多缓存的操作时实现高得多的传输速率。给定磁盘/应用程序的缓存操作的比值是不可预测的。如此,确定以严格的传输的字节表示的工作容量在操作上是困难的。计算磁盘容量一般而言是困难的,尽管在许多特定情况下可使用诸如适用的缓存速率之类的附加信息进行。工作量的另一种定义是执行的磁盘操作(读和写)的数量。这在某种程度上没有传输的字节的数量那样恒定;当更换磁盘时,簇大小(和/或其他参数)可能会改变,导致磁盘操作的数量变化。类似于前面的情况,测量传输的数量(工作量)容易,但是,估计传输的最大数量(磁盘容量)相对来说较难。某些驱动程序每秒钟执行数千次操作,尽管每秒钟操作次数的标称数量大约是200-300。再一次,计算工作容量(磁盘容量)一般而言是困难的。但是再一次,在许多特定情况可使用关于应用程序行为和负载状况的附加信息进行。在操作上切实可行的磁盘工作量的计算。磁盘工作量的相对来说更为合适的度量是基于磁盘忙于处理用户请求的时间。大多数操作系统测量在某一被监视的时间段(例如,由监视应用程序130进行监视)期间磁盘忙碌的时间的百分比。这种方法的一个优点是存在天然的容量限制。磁盘无法在超过 100%的给定时间内处于忙碌状态。为获得由磁盘执行的工作量,将该磁盘被使用的时间量乘以磁盘大小。
12
例如,对于以20%的平均百分比忙碌时间工作了一个时间的100吉字节磁盘,根据等式G),完成的工作量将是20/100*100吉字节/秒*3600秒=72000吉字节。如此,在一个实施例中,我们使用磁盘大小作为数据传输量的代表,并使用百分比-忙碌作为磁盘利用率的代表。有关维度的注意。在以“一个定义”开始的本节开始处描述的一种方法将按照来往于磁盘传输的字节来度量磁盘工作量。系统将提供每秒钟传输的字节的数量。为获得在某个时间单位(如一个小时)完成的工作量,将[每秒钟传输的平均字节数]*[一小时的秒数],获得在该小时期间传输的字节数量。在此方法中,使磁盘传输速率与磁盘大小成比例。此处,传输速率与100吉字节/ 秒成比例。计算在一小时期间磁盘被使用的秒数-20/100*3600 = 720秒;将该时间乘以传输速率因数以获得720秒*100吉字节/秒=72000吉字节。在某些实施例中,工作量可包括比例因数,但是,这样做不是必需的。相同标准应该用于所有磁盘(在这样的情况下,比例因数不相关)。我们不断言以这种方式获得的工作量(基于百分比忙碌)与通过测量每秒钟传输的字节(例如,使用标准计数器)获得的工作量相同。它是不同的。这里计算的工作量是以对于所有磁盘同样的方式来进行计算的,并允许按此维度比较磁盘利用率。它还允许在此维度计算磁盘容量(磁盘工作容量),从而允许计算DUF 138。通过将百分比忙碌设置为100,对于给定磁盘,计算在给定时间帧期间的工作容量,如此获得磁盘工作容量=100/100*100吉字节/秒*3600秒=360000吉字节(根据等式(5))。如此,对于这样的磁盘的DUF将是72,000吉字节/360,000吉字节=0.2(无单位,因为这是指示,或者也被称为因数)。如果服务器具有另一个磁盘,带有比方说500吉字节的容量,在同一个时间期间平均50%的时间忙碌,则下列等式将成立磁盘2工作量=0. 5*500吉字节/秒*3600秒 =900000吉字节,磁盘2容量=1. 0*500吉字节/秒*3600秒=1800000吉字节。如此, DUF 将是 0. 5。这里,服务器110将具有带有不同的容量和使用水平的两个磁盘。为计算两个磁盘的总DUF 138,对每一个磁盘完成的工作量求和(总工作量=72000吉字节+900000吉字节=972000吉字节),对两个磁盘的容量求和(总容量=360000吉字节+1800000吉字节 =2160000吉字节),并将总工作量除以总工作容量=DUF = 972000/2160000 = 0. 45。总DUF不是多个磁盘的DUF的平均值。对工作量求和,然后,对容量求和,并相除。 总DUF更多地受到较大磁盘的影响。如果(磁盘传输速度和其大小之间的)比例因数被包括在上面的计算中的任何一个计算中,则它本身将被约去(假设对于两个磁盘它是相同的)。在上面的考虑中(%磁盘忙碌)是在给定时间段期间磁盘忙碌的时间的百分比。 在一个实施例中,百分比磁盘忙碌可以被计算为[100-(物理磁盘空闲时间)]。基于操作系统,这可以变化,在某些情况下,要使用的适当的值将是(100%-%空闲时间)。如上文所提及的,磁盘主要用于两个目的(1)不能保存在存储器中的数据的临时存储(其中,适当的度量与磁盘活动相关)或( 数据的永久存储,如存档,其中,磁盘可以具有低活动(%忙碌或数据传输量),但是,它们保留不能丢弃的数据。一个示例包括长期存储电子邮件。对于数据保存磁盘,提供了利用率因数(磁盘-存储器-CUF)。它被定义为已用磁盘空间(以吉字节表示)与以吉字节表示的总磁盘容量的比率。如此,使用了 20吉字节空间的100吉字节磁盘将具有CUF = 20/100 = 0. 2。使用了 250吉字节已用空间的500吉字节磁盘将具有CUF 250/500 = 0. 5。为计算两个磁盘的CUF,将总的已使用空间(=20吉字节+250吉字节)270吉字节和容量(=100吉字节+500吉字节)600吉字节相加。那么,总的CUF是270吉字节/600吉字节=0.45。如果需要,可以将类似的考虑应用于存储器或其他组件(视频卡等等)。例如,可以确定两个存储器利用率因数(MUF)。MUF-存储是在服务器上运行的所有应用程序所使用的存储器(工作量)与安装的总存储器(容量)的比率。MUF-活动是在服务器上运行的所有应用程序所使用的存储器乘以处理器利用率(工作量)与总的存储器(容量)的比率。与磁盘不同,操作系统通常不测量存储器被使用的%时间,也不测量在存储器和设备之间交换了多少字节。因此,将磁盘的百分比忙碌时间替换为处理器利用率一因为处理器使用率通常与存储器访问相关。取决于操作系统、规范许可,可以使用其他代表。原则是,(a) 认识到存储器可以被预留,但是在它上面不执行操作,(b)使用实际使用了多少预留的存储器的度量。MUF-活动被用作另一个度量,因为某些应用程序(如数据库)预留存储器(如此OS计数器示出存储器被“使用”),但是,因为频繁空闲,之后不会使用得太多。网络组件。根据等式(8),NIC_工作量=传输的字节。根据等式(9),NIC_容量=传输到网卡的最大字节数量。根据等式(10),NUF 140 = NIC_工作量/NIC_容量。对带有多个网卡的服务器的NUF的计算类似于对带有多个磁盘的服务器的NUF的计算。计算总服务器利用率SUF1 (基于美元成本)。在一个实施例中,如上文所提及的,依据本发明的技术,基于相关的服务器组件的美元成本,导出SUF 144(其可以采取多种形式,如SUFl和SUF2)。这些成本可以表示总服务器成本、实际组件成本、估计的组件成本、组件更换成本的分摊,或上面的组合。每一个利用率因数(PUF 136、DUF 138、NUF 140)都表示在给定时间段所使用的资源的比值。每一个资源都可以不同于其他资源,防止单单求平均。例如,如果服务器利用率因数分别是(0. 1、0.7、0. 1),则在总平均值为0.3中涵盖的信息很少。所以,我们不会这样做。本发明的技术构想了考虑显著不同的组件。在一个实施例中,为获得对总服务器的利用率的估计,使用各种组件的美元成本。 假设总服务器价格是,比方说,$10,000。在一个实施例中,基于当前市场定价或其他信息,将该金额的部分分配给服务器的的各种组件。如此,服务器可以具有花费$1,000的处理器、花费$8,900的磁盘,以及花费$100的网卡。将每一个元件的成本乘以该元件的利用率因数以获得按成本加权的使用率CUF-成本=(0. 1*1,000$+0. 7*8900$+0. 1*100$)/ (1,000$+8,900$+1,00$) = 6340$/10000$ = 0.634。在此示例中,使用了价值$6,340的组件,总价为$10,000。如此,0.634是SUF 144(或根据等式(11)的SUF1)。我们可以获得所有服务器组件(包括存储器、电源、机架)的定价,或者,如在上面的示例中,只获得某些组件的定价。如上文所提及的,此数据可以构成组件定价信息178。在某些情况下,总的服务器价格是已知的,但是,各个组件的价格未知。在此情况下,可以使用估计值。可以对市场价格求和并可任选地乘以一因数,以使得它们的总和等于总服务器价格。例如,假设已知服务器价格是$10,000 ;磁盘的市场价值是$5,000,处理器的市场价值是$2,000 ;而存储器的市场价值是$1,000。但是,不必具有有关其他元件(如电源或存储器)的成本的精确信息。可以使用可用的信息,并基于服务器的已知元件来计算SUFl。或者,可以对价格标准化已知的元件的总成本是$8,000,服务器成本$10,000,因此,比例因数是$10,000/$8,000 = 1.25。然后,将每一个组件的成本乘以该比例因数。所以,归为磁盘的成本是$5,000*1. 25 = $6,250以此类推。基于已调整的价格来计算SUFl。 实际上,服务器成本中所有未算的元件都被分散到已知元件中。当计算服务器组件的SUFl时,可以将处理器和存储器组合起来,只要涉及成本, 就将它们视为一个组件。其他元件(电源、机壳)的成本可以分散到服务器组件中。在其他实施例中,可以使用除硬件组件的成本以外的元素;例如,数据中心占地面积的成本,维护成本等等。这些元素可以分开使用或组合地使用,也可以存储在数据库174 中。可以使用其他基准(除硬件组件的财务成本之外)来计算其他总计服务器度量。 在数据中心中,功率是一个重要特征。如此,可以使用每一个组件的功率用量,使用类似于等式(11)的公式,来计算SUF1144,或SUF2(等式(12))。这提供了估计功率使用效率有多
高的度量。例如,假设(处理器、磁盘、网络)功率用量分别是O00W、100W、10W),得到SUF2 = (0. l*200ff+0. 7*100ff+10*0. Iff) / (200W+IOOff+1 Off) = 91W/310W = 0.四。SUF2 表明服务器所使用的总功率中的多少被实际用于处理,而多少被浪费。在实践中,每一个组件当被完全使用时可以使用一定量的功率,而当在较低的容量被使用时可以使用较少的功率。例如,处理器当被较少使用时可以使用较少的功率,且在某个不活动时段之后,磁盘驱动器可以被关闭。这可以被包括到SUF2的计算中。可以从制造商的描述估计或测量组件所使用的功率。计算服务器组利用率(SGUF 186,分别参见表II中的SGUFl和SGUF2,等式(11) 和(12))。前面的几节描述了对于单个服务器的每一个组件的利用率因数计算。它们还描述了对总服务器的单个SUF的计算,该SUF是SUFl (基于财务)和SUF2 (基于功率)。现在描述对于一组服务器的利用率因数的计算(SGUF 186)。提供了包括工作了 3600秒的两个服务器(110和11 的一组作为下列示例。比方说,服务器110具有带有相对性能指标1(各自)和利用率20%的两个处理器122,忙碌时间5%的500吉字节的一个磁盘120,以及10%的利用率的一千兆类型的一个网卡1M。比方说,服务器112具有带有相对性能指标2(各自)和利用率80%的16个处理器152,平均忙碌时间20%的500吉字节的五个磁盘150,以及平均利用率10%的一千兆类型的两个网卡154。这里的方法类似于前面对于两个磁盘计算总DUF所描述的方法。一般而言,计算在所有元件上完成的工作量的总和、所有元件的工作容量的总和,并相除。—般而言,该方法将分别对于每一个服务器和服务器组件,来计算工作量和工作容量;然后,将所有服务器上的同样组件(磁盘对磁盘、处理器对处理器,..·)完成的工作量相加,以获得在所有服务器上的同样组件上完成的总工作量;即,由处理器122和152完成的总工作量、由磁盘120与150完成的总工作量,以及由网卡124和154完成的总工作量。对于所有同样的组件,计算工作容量,并在所有服务器上求和,获得处理器的总工作容量、磁盘的总工作容量,以及网卡的总工作容量。对每一个单个服务器和服务器组件的工作量和工作容量的计算如前面的部分“计算单个服务器利用率”中所描述。对于服务器110的组件处理器工作量=0. 2*2*1*3600 = 1440 ;工作容量 =1. 0*2*1*3600 = 7200 ;磁盘工作量(活动)=0. 5*500*3600 = 90000 ;工作容量=1. 0*500*3600 = 1800000 ;而网络工作量=0. 1*1. 0*3600 = 360 ;工作容量= 1.0*1. 0*3600 = 3600。对于服务器112的组件处理器工作量=0. 8*16*2*3600 = 92160 ;工作容量= 1. 0*16*2*3600 = 115200 ;磁盘工作量(活动)=0. 2*5*500*3600 = 1800000 ;工作容量 =9000000 ;而网络工作量=0. 1*2*3600 = 720 ;工作容量=1. 0*2*3600 = 7200。那么,服务器组的PUF是完成的工作量的总和除以容量的总和PUF = (1440+92160)/(7200+115200) = 0. 765,其可以通过数据 146A 禾口 184A,由处理服务器 116 来完成。总DUF = (90000+1800000) / (1800000+9000000) = 0. 175 [(工作量 120+ 工作量 150)/(容量 120+ 容量 150] οNUF = (360+720)/(3600+7200) = 0.1o注意,在某些现有的技术中,服务器110的(CPU)利用率将是0.2 (20%),服务器 112的是0. 8(80% ),对服务器之间的利用率求平均将导致0. 5的“平均利用率”。但是,根据我们的技术,0. 765的PUF显著不同,反映了包括处理器的数量、时钟速度等等的差异。基于服务器组的功率和财务的利用率。使用与前面的示例中相同的数据,将提供基于功率(SGUF2)和财务成本(SGUFl) 来计算服务器组利用率因数的示例。将每一个硬件组件的利用率因数与该组件的价格组合。在组情况下的一个区别是,使用组的利用率因数来代替单个服务器的利用率因数,并使用该组中的所有服务器上的总和组件价格。再一次,比方说服务器110具有带有相对性能指标1 (各自)和利用率20%的两个处理器122,忙碌时间5%的500吉字节的一个磁盘120,以及10%利用率的一千兆类型的一个网卡1对。再一次,比方说服务器112具有带有相对性能指标2(各自)和利用率80%的16 个处理器152,平均忙碌时间20%的500吉字节的五个磁盘150,以及10%的平均利用率的一千兆类型的两个网卡154。下表概述了每一个服务器的组件的CUF和价格。对于服务器组,如在前面的部分“计算服务器组利用率”,计算每一个组件的因数值。每一个组件的价格是每一个单个服务器的组件的价格的总和。为了方便起见,下面提供了表3。
权利要求
1.其上包括了计算机可执行指令的计算机存储介质,当指令被执行时,计算机可执行指令执行测量给定服务器(110)的服务器利用率的量的方法,所述方法包括确定指示所述给定服务器(110)的第一处理器(12 的容量利用率的处理器利用率因数(PUF) (136);确定指示所述给定服务器的第一硬盘驱动器(磁盘)(120)的容量利用率的磁盘利用率因数(DUF) (138);确定指示所述给定服务器的第一网络组件(124)的容量利用率的网络利用率因数 (NUF) (140),所述网络组件促进所述给定服务器(110)和外部网络通信设备之间的数据的传递;确定下列集中的一个或多个,(A)与所述第一处理器(122)、第一磁盘(120)以及所述网络组件(124)中的每一个相关联的美元成本,从而提供处理器成本基准、磁盘成本基准以及网络成本基准;(B)与所述第一处理器、第一磁盘、以及所述网络组件中的每一个相关联的功率消耗, 从而提供处理器功率基准、磁盘功率基准以及网络功率基准;基于下列集中的一个或多个,导出指示服务器用量的指示,(A)所述PUF(136)和处理器成本基准、所述DUF(138)和磁盘成本基准以及所述 NUF (140)和网络成本基准;(B)所述PUF(136)和处理器功率基准、所述DUF(138)和磁盘功率基准以及所述 NUF (140)和网络功率基准;
2.如权利要求1所述的介质,其特征在于,确定所述PUF、DUF以及NUF包括下列各项中的一项或多项确定所述第一处理器的工作量(处理器工作量),并将所述处理器工作量与所述第一处理器的最大工作容量进行比较;确定所述第一磁盘的工作量(磁盘工作量),并将所述磁盘工作量与所述第一磁盘的最大工作容量进行比较;确定所述第一网络组件的工作量(网络工作量),并将所述网络工作量与所述网络组件的最大工作容量进行比较。
3.如权利要求2所述的介质,其特征在于,所述比较步骤中的每一个都包括将所述相应的工作量除以它们的对应的最大工作容量。
4.如权利要求2所述的介质,其特征在于确定所述处理器工作量包括考虑下列各项中的一项或多项,(A)在第一时间段期间所述第一处理器被使用的平均百分比利用率,(B)基于所述第一处理器的速度的相对性能指标,以及(C)所述第一时间段的度量;确定所述磁盘工作量包括考虑下列各项中的一项或多项,(A)在第二时间段期间所述第一磁盘忙碌的平均百分比忙碌时间,(B)被度量为所述第一磁盘的容量的数据传输速率,以及(C)所述第二时间段的度量;以及确定所述网络工作量包括考虑由所述第一网络组件在第三时间段期间传输的数据量。
5.如权利要求4所述的介质,其特征在于,所述第一时间段、所述第二时间段、以及所述第三时间段都是相同的。
6.如权利要求4所述的介质,其特征在于,所述第一处理器的所述最大工作容量等于所述第一处理器在所述第一时间段期间被最大限度地使用时可以处理的指令的数量,再按所述相对性能指标缩放;所述第一磁盘的所述最大工作容量等于所述数据传输速率乘以所述第二时间段的度量;以及所述网络组件的所述最大工作容量等于所述第一网络组件在所述第三时间段期间能够传递的最大数据量。
7.如权利要求1所述的介质,其特征在于,所述美元成本基于下列各项中的一项或多项购买价格;更换成本;或针对所述给定服务器的总价格分摊的估计成本。
8.如权利要求1所述的介质,其特征在于,还包括对于第二服务器重复如权利要求1.1 所述的步骤。
9.如权利要求8所述的介质,其特征在于,还包括确定指示所述给定服务器和所述第二服务器两者的集合利用率的服务器组利用率因数(186)。
10.一种确定第一服务器(110)的利用率基准的方法,所述方法包括在计算设备(116)上,确定指示所述第一服务器的一个或多个海量存储磁盘(“磁盘”) (120)的利用率的磁盘利用率因数(DUF) (138);确定指示在所述第一服务器上运行的所述一个或多个处理器(“处理器”)(122)的利用率的处理器利用率因素(PUF) (136);以及基于所述DUF(138)和PUF(136),导出指示所述第一服务器的利用率水平的服务器利用率因数(SUF),其中,所述导出包括并入与所述磁盘和处理器中的每一个相关联的(1)功率用量数据(180)或( 财务成本数据(178)中的一项或多项。
11.如权利要求10所述的介质,其特征在于,导出所述服务器利用率因数(SUF)包括引用由接收所述磁盘和所述处理器的用量特征的数据代理所生成的日志文件,其中,所述日志文件包括所述DUF和所述PUF。
12.如权利要求11所述的介质,其特征在于,导出所述SUF还包括基于分别与所述磁盘和所述处理器相关联的美元成本,对所述DUF和所述PUF加权。
13.如权利要求12所述的介质,其特征在于,导出所述SUF还包括基于分别与所述磁盘和所述处理器相关联的功率用量,对所述DUF和所述PUF加权。
14.一种执行确定指示多个服务器(110、112、114)的利用率的利用率基准的方法的处理服务器(116),所述方法包括在所述处理服务器(116)处,引用下列各项中的一项或多项,每一个都与所述多个服务器之中的给定服务器相关联,(A)指示所述给定服务器(110)的一个或多个海量存储磁盘(“磁盘”)(120)的利用率的磁盘利用率因素(DUF) (138);CN 102461075 A权禾丨J 要求书3/3页(B)指示在所述给定服务器上运行的所述一个或多个处理器(“处理器”)(122)的利用率的处理器利用率因素(PUF) (136);(C)指示所述给定服务器(110)中的一个或多个网络通信设备(“NCD”)(124)的利用率的网络利用率因素(NUF) (140);在所述多个服务器(110、112、114)中,在适当时,导出基于所有磁盘的总DUF、基于所有处理器的总PUF、以及基于所有NCD的总NUF,其中所述导出包括考虑在所述磁盘、处理器以及NCD之中引用的每一个磁盘、处理器以及NCD的至少一个属性(下面列出的),(A)其中,对于每一个磁盘(120、150),所考虑的磁盘属性包括所述磁盘的容量,(B)其中,对于每一个处理器(122、152),所考虑的处理器属性是指示相对于其他处理器的性能水平的相对性能指标,以及(C)其中,对于每一个NCD(124、154),考虑最大吞吐容量,以及基于,当存在时,所述总DUF、总PUF以及总NUF,导出服务器组利用率因素(SGUF) (186)。
全文摘要
公开了用于确定服务器或服务器组的利用率的方式。在一个实施例中,一种方法包括确定指示某个服务器的一个或多个海量存储磁盘的利用率的磁盘利用率因素(DUF);确定指示在第一服务器上运行的一个或多个处理器的利用率的处理器利用率因素(PUF);以及,基于DUF和PUF,导出指示第一服务器的利用率水平的服务器利用率因素(SUF),包括并入与磁盘和处理器中的每一个相关联的(1)功率用量数据或(2)财务成本数据中的一项或多项。
文档编号G06F9/50GK102461075SQ201080025832
公开日2012年5月16日 申请日期2010年6月2日 优先权日2009年6月3日
发明者C·Z·洛博兹, S·李, T·R·哈珀尔 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1