应用效率引擎.pdf

上传人:1*** 文档编号:4244358 上传时间:2018-09-11 格式:PDF 页数:16 大小:578.64KB
返回 下载 相关 举报
摘要
申请专利号:

CN201080019495.2

申请日:

2010.04.23

公开号:

CN102414674A

公开日:

2012.04.11

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):G06F 15/16变更事项:专利权人变更前权利人:微软公司变更后权利人:微软技术许可有限责任公司变更事项:地址变更前权利人:美国华盛顿州变更后权利人:美国华盛顿州登记生效日:20150803|||授权|||实质审查的生效IPC(主分类):G06F 15/16申请日:20100423|||公开

IPC分类号:

G06F15/16; H04L12/28; G06F17/00; G06F11/30; G06F3/00

主分类号:

G06F15/16

申请人:

微软公司

发明人:

R·派克; K·V·瓦德; R·弗莱尔斯

地址:

美国华盛顿州

优先权:

2009.04.30 US 12/432,911

专利代理机构:

上海专利商标事务所有限公司 31100

代理人:

高见

PDF下载: PDF下载
内容摘要

提供了系统和方法。可访问和收集与在一个或多个虚拟机(VM)上执行的应用有关的性能和容量统计数据。可分析收集到的性能和容量统计数据以确定用于在虚拟机(VM)上有效地执行应用的改进的硬件简档。可调度和部署具有与改进的硬件简档匹配的虚拟硬件配置的虚拟机(VM)以执行应用。可周期性地分析与虚拟机(VM)有关的性能和容量统计数据,以确定阈值条件是否发生。当已经确定阈值条件发生时,可自动地分析与具有同不同的硬件简档相对应的不同配置的虚拟机(VM)有关的性能和容量统计数据,以确定更新的改进的硬件简档。可用与更新的改进的简档匹配的虚拟硬件配置来重新部署用于执行应用的虚拟机(VM)。

权利要求书

1: 一种用于为应用自动地学习改进的硬件简档的方法, 所述方法包括 : 由操作环境的一个或多个处理设备的处理设备收集在多个硬件配置中执行的应用的 性能统计数据 (504) ; 由操作环境的一个或多个处理设备的处理设备基于所收集到的性能统计数据自动地 对应用进行简档配置, 以导出与应用有关的改进的硬件简档 (508) ; 由操作环境的一个或多个处理设备的处理设备调度对在多个第二处理设备的第二 处理设备上的虚拟机的部署, 所述虚拟机具有与所导出的硬件简档匹配的虚拟硬件配置 (510) ; 以及 为执行所述应用在所述第二处理设备上部署所述虚拟机 (510)。
2: 如权利要求 1 所述的方法, 其特征在于, 所述对应用进行自动简档配置还包括 : 基于所存储的收集到的性能统计数据来导出与所述应用相关联的角色, 以及 将角色与所述硬件简档相关联。
3: 如权利要求 2 所述的方法, 其特征在于, 还包括 : 由操作环境的一个或多个处理设备的处理设备监视在所述第二处理设备上执行的应 用的性能统计数据 ; 由操作环境的一个或多个处理设备的处理设备基于监视导出更新的改进的硬件简 档; 由操作环境的一个或多个处理设备的处理设备执行对虚拟机的重新部署的调度, 所述 虚拟机的虚拟硬件配置与所导出的更新的改进的硬件简档匹配 ; 以及 在多个第二处理设备的第二处理设备上重新部署所述虚拟机。
4: 如权利要求 3 所述的方法, 其特征在于, 还包括 : 将角色与更新的改进的硬件简档相关联。
5: 如权利要求 3 所述的方法, 其特征在于, 还包括 : 由一个或多个处理设备的处理设备计算与在所部署的虚拟机上执行的应用有关的处 理器利用率、 分配的存储器数量、 与介质有关的每固定时间单元的输入 / 输出数、 与介质有 关的使用或可用的存储空间、 以及网络利用率, 其中 所述导出更新的改进的硬件简档至少部分基于处理器利用率、 分配的存储器数量、 与 介质有关的每固定时间单元的输入 / 输出数、 与介质有关的使用或可用的存储空间、 以及 网络利用率。
6: 如权利要求 1 所述的方法, 其特征在于, 所述对虚拟机的部署的调度还包括 : 将改进的硬件简档与在多个第二处理设备上可用的虚拟机资源作比较, 确定所述多个第二处理设备中的一个为具有与改进的硬件简档匹配的至少可用机器 资源, 以及 在多个第二处理设备中的所确定的一个上调度对虚拟机的部署。
7: 如权利要求 1 所述的方法, 其特征在于, 还包括 : 由一个或多个负载平衡器为在具有不同虚拟硬件配置的多个虚拟机中执行的应用的 多个副本分发负载, 所述分发负载是基于所述应用的所述多个副本的各自的响应时间, 其 中 所述收集性能统计数据还包括 : 2 收集由一个或多个负载平衡器报告的应用响应时间数据。
8: 如权利要求 1 所述的方法, 其特征在于, 还包括 : 分析与效率有关的多个硬件简档, 所述效率由执行所述应用并且具有与多个硬件简档 中的诸硬件简档匹配的虚拟硬件配置的多个虚拟机来达成, 其中 所导出的改进的硬件简档至少部分地基于分析的结果。
9: 一种用于为虚拟机自动地学习硬件简档以便以改进的效率执行应用的系统, 所述系 统包括 : 至少一个简档配置器 (402), 用于收集与在多个硬件配置中执行的应用有关的性能和 容量统计数据 ; 趋势引擎, 用于访问收集到的性能和容量统计数据并且自动地对应用进行简档配置以 导出硬件简档和应用的角色, 所述应用的所述角色与硬件简档相关联, 所述虚拟机具有与 所导出的硬件简档匹配的虚拟硬件配置, 所导出的硬件简档是用于以改进的效率执行所述 应用的配置 (408、 602-610) ; 调度器, 用于将所述硬件简档与物理处理设备进行匹配, 所述物理处理设备具有至少 足够的对具有与所导出的硬件简档匹配的虚拟硬件配置的虚拟机可用的资源, 所述调度器 在物理处理设备上部署所述虚拟机 (412、 902-904)。
10: 如权利要求 9 所述的系统, 其特征在于, 还包括 : 至少一个负载平衡器, 用于为在具有多个虚拟硬件配置的多个虚拟机中执行的多个应 用的副本分发负载, 用于分发负载的所述至少一个负载平衡器是基于执行所述应用的所述 副本的应用响应时间。
11: 如权利要求 10 所述的系统, 其特征在于 : 所述至少一个负载平衡器维护在所述多个虚拟机中执行的所述应用的所述副本的应 用响应时间统计数据, 以及 所述至少一个简档配置器从至少一个负载平衡器处收集应用响应时间统计数据。
12: 如权利要求 9 所述的系统, 其特征在于, 还包括 : 用于在所部署的虚拟机上监视应用的性能的监视器, 其中 当监视器检测到与执行应用有关的性能改变超过阈值水平时, 监视器调用所述至少一 个简档配置器以及趋势引擎来自动地导出更新的硬件简档。
13: 如权利要求 12 所述的系统, 其特征在于 : 所述监视器周期性地接收性能和容量统计数据, 以及 所述监视器分析周期性接收到的性能和容量统计数据以检测性能改变超过阈值水平。
14: 如权利要求 9 所述的系统, 其特征在于, 所述趋势引擎至少部分地基于处理器利用 率、 分配的存储器数量、 与介质有关的每固定时间单元的输入 / 输出数、 与介质有关的使用 或可用的存储空间、 以及与包括执行所述应用的至少一个虚拟机的至少一个物理处理设备 有关的网络利用率, 来导出硬件简档。
15: 如权利要求 14 所述的系统, 其特征在于, 所述趋势引擎还至少部分地基于分析与 效率有关的多个硬件简档来导出硬件简档, 所述效率由执行所述应用并且具有与所述多个 硬件简档匹配的虚拟硬件配置的相应的虚拟机来达成。

说明书


应用效率引擎

    背景
     在许多现有的数据中心内, 处理设备和应用程序的利用率远远低于最优值。 例如, 许多数据中心的管理者过分提供数据中心内的处理设备资源, 因此, 数据中心内的某些处 理设备仅有 10%到 30%的负载, 从而使得资源没有被充分利用。在一些数据中心内处理设 备执行虚拟机 (VM)。 由于不同的应用具有不同的资源需求, 因此对通用虚拟机 (VM) 做出标 准的假设将导致数据中心的处理设备中降级的应用效率。
     概述
     提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。 本概述并不旨在标识出所要求保护的主题的关键或必要特征, 也不旨在用于限定所要求保 护的主题的范围。
     在根据本公开的主题的各实施例中, 系统可包括趋势引擎、 调度器、 监视器和简档 配置器 (profiler)。在板载过程期间, 趋势引擎可捕获执行应用的虚拟机的性能和容量统 计数据。系统可通过使用简档配置器来自动地学习改进的硬件简档, 以分析捕获的性能和 容量统计数据。 作为分析的结果, 趋势引擎可导出用于执行应用的改进的硬件简档。 调度器 可调度和部署具有与导出的改进的硬件简档匹配的虚拟硬件配置的一个或多个虚拟机。 在 部署之后, 监视器可周期性地采样所部署的一个或多个虚拟机的性能和容量统计数据。当 监视器检测到阈值条件发生时, 监视器可调用趋势引擎和简档配置器以自动地导出更新的 改进的硬件简档。 调度器然后可用与所导出的更新的改进的硬件简档匹配的虚拟硬件配置 来重新部署一个或多个虚拟机。
     在一些实施例中, 性能和容量统计数据可被收集并且存储在数据储存库中。简档 配置器可分析存储在数据储存库中的性能和容量统计数据。可以由执行至少一个虚拟机 (VM) 的一个或多个处理设备维护和提供性能和容量统计数据。 一个或多个负载平衡器可基 于应用响应时间, 在一个或多个虚拟机 (VM) 之间为应用分发负载。
     附图
     为了描述能够获得上述和其它优点和特征的方式, 以下描述更为具体的描述, 并 且将通过参考附图中示出的各具体实施例来呈现这一更为具体的描述。应当理解, 这些附 图仅描绘了典型实施例, 因此其不应被认为是对范围的限制, 将通过使用附图用附加的特 征和细节来描述并解释各实现。
     图 1 示出其中可实现根据本公开的主题的系统的实施例的示例性操作环境。
     图 2 示出多个虚拟机 (VM) 可在其上执行的示例性处理设备。
     图 3 示出可用于实现实施例的各方面的示例性处理设备。
     图 4 是示出根据本公开的主题的示例性系统的功能组件的功能框图。
     图 5 是示出可在根据本公开的主题的各实施例中实现的示例性过程的流程图。
     图 6 是示出用于自动配置应用并且导出改进的硬件简档的示例性过程的流程图。
     图 7 和 8 是示出可在导出改进的硬件简档时执行的分析的示图。
     图 9 是解释可在根据本公开的主题的各实施例中执行的, 用与导出的改进的简档
     匹配的虚拟硬件配置来调度和部署虚拟机的示例性过程的流程图。
     详细描述
     以下详细讨论各实施例。尽管讨论了具体的实现, 但是应当理解这样做只是为了 说明的目的。相关领域的技术人员将意识到可以使用其它组件和配置, 而不背离本公开的 主题的精神和范围。
     概览
     在根据本公开的主题的各实施例中, 数据中心可包括用于将应用加载到具有变化 的虚拟硬件配置的多个虚拟机 (VM) 中的应用效率引擎。可安排一个或多个负载平衡器以 基于虚拟机 (VM) 中执行的应用各自确定的响应时间来在多个虚拟机 (VM) 之间分配负载。 与执行应用的虚拟机 (VM) 有关的性能和容量统计可被收集和存储在数据储存库中。可访 问和分析数据储存库中的性能和容量统计, 以自动地对应用进行简档配置 (profile) 和导 出改进的硬件简档。 调度器可为具有与导出的硬件简档匹配的虚拟硬件配置的虚拟机 (VM) 确定具有可用资源的至少一个处理设备。调度器然后可为执行应用部署虚拟机 (VM)。
     在一些实施例中, 可由处理设备监控执行应用的虚拟机 (VM) 的性能和容量统计 数据。处理设备可访问可存储性能和容量统计数据以及应用的响应时间统计的数据储存 库。 或者, 例如处理设备可查询诸如例如负载平衡器、 服务器或其它设备等的一个或多个其 它设备, 以获取与在虚拟机 (VM) 上执行的应用有关的性能和容量统计数据以及应用的响 应时间统计数据 ( 总体地被称为统计数据 )。处理设备可分析统计以确定与在一个或多个 虚拟机 (VM) 上执行的应用有关的阈值条件是否已经发生。当若干个条件发生时, 可确定阈 值条件发生。在一个实施例中, 这些条件可包括 :
     1. 执行应用的一个或多个虚拟机 (VM) 的处理器利用率中的第一预定义改变, 持 续至少第一给定时间段 ;
     2. 执行应用的一个或多个虚拟机 (VM) 的存储器分配中的第二预定义改变, 持续 至少第二给定时间段 ;
     3. 例如与诸如硬盘驱动器或其它介质等介质有关的输入 / 输出活动量中的第三 预定义改变, 由执行应用的一个或多个虚拟机 (VM) 使用并且持续至少第三给定时间段 ;
     4. 与执行应用的一个或多个虚拟机 (VM) 有关的网络输入 / 输出量中的第四预定 义改变, 持续至少第四给定时间段 ; 以及
     5. 在一个或多个虚拟机 (VM) 上执行的应用的应用响应时间中的第五预定义改 变, 持续至少第五给定时间段。
     上述阈值条件是示例性的。在根据本公开的主题的其它实施例中, 可定义附加或 不同的阈值条件。
     如果确定阈值条件中的至少一个已经发生, 则应用效率引擎可再次将应用加载到 具有变化的虚拟硬件配置的多个虚拟机 (VM) 中, 可访问和分析统计数据以自动地对应用 进行简档配置并且导出改进的硬件简档, 并且调度器可再次为具有与所导出的改进的硬件 简档匹配的虚拟硬件配置的虚拟机 (VM) 确定具有可用资源的至少一个处理设备。调度器 然后可用与所导出的改进的硬件配置匹配的虚拟硬件配置, 为执行应用重新部署一个或多 个虚拟机 (VM)。
     示例性操作环境图 1 示出用于根据本公开的主题的各实施例的示例性操作环境 100。 操作环境 100 可包括网络 102、 一个或多个负载平衡器 104、 第一处理设备 106 和第二处理设备 108。
     网络 102 可是局域网, 或者其它类型的网络。网络 102 可是有线或无线网络, 并且 例如可用诸如例如因特网之类的其它网络来连接。
     负载平衡器 104 可与共处一地的处理设备、 或者跨网络 102 与远程处理设备通信。 当负载平衡器 104 接收到负载时, 例如诸如用于在驻在第一处理设备 106 上的若干个虚拟 机 (VM) 中的一个虚拟机上执行的应用的数据或其它信息, 负载平衡器 104 可将负载递送给 在具有最短应用响应时间的第一处理设备 106 中的一个设备上执行应用的虚拟机 (VM) 中 的一个虚拟机。在一些操作环境中, 负载平衡器 104 可以是市场上销售的负载平衡器, 这些 负载平衡器将负载从若干个虚拟机 (VM) 中递送给具有最短应用响应时间的虚拟机 (VM)。 在负载平衡器 104 中包括的处理设备上, 可用硬件实现或者可用软件实现负载平衡器 104 的各实施例。在一个实施例中, 负载平衡器 104 可包括可从华盛顿州西雅图市的 F5 处获得 的负载平衡器。
     第一处理设备 106 中的每一个都具有在其上执行的一个或多个虚拟机 (VM)。 在一 些实施例中, 第一处理设备 106 中的每一个都可以是服务器。虚拟机 (VM) 中的每一个都可 具有虚拟硬件配置, 并且虚拟机 (VM) 中的至少一些可执行应用的副本。虚拟硬件配置可包 括例如诸如核心处理器的数个处理器、 分配的存储器的量、 以及例如诸如磁盘存储空间或 其它存储空间等的分配的存储空间的量。在一些实施例中, 虚拟硬件配置可包括附加或其 它的配置信息。 第二处理设备 108 可包括一个或多个处理设备。第二处理设备 108 可执行 : 简档 配置器, 用于在具有数个虚拟硬件配置的虚拟机 (VM) 中执行应用 ; 趋势引擎, 用于对在具 有变化的虚拟硬件配置的一个或多个虚拟机 (VM) 上执行的应用进行简档配置以导出改进 的硬件简档 ; 调度器, 用于确定具有可用资源的第一处理设备 106 中的一个来执行具有与 所导出的改进的硬件简档匹配的虚拟硬件配置的虚拟机 (VM) 以及所确定的第一处理设备 中的一个设备上部署虚拟机 (VM) ; 以及监视器, 用于监控与执行应用的虚拟机 (VM) 有关的 性能和容量统计数据并且用于导致循环重复以在至少一个阈值条件发生时导出另一改进 的硬件简档。趋势引擎、 简档配置器、 调度器以及监视器可在第二处理设备 108 中的相同处 理设备中、 第二处理设备 108 中的分开的处理设备、 或者在第二处理设备 108 中的多个处理 设备中执行, 从而趋势引擎、 简档配置器、 调度器以及监视器中的至少一个可在第二处理设 备 108 中与趋势引擎、 简档配置器、 调度器以及监视器中的至少另一个相同的处理设备中 执行。 在一些实施例中, 还可将第二处理设备 108 中的一个或多个包括为第一处理设备 106 的第一处理设备。在其它实施例中, 在第一处理设备 106 中可不包括处理设备 108。
     如图 1 所示的操作环境 100 是示例性的, 并且示出包括三个处理设备的第一处理 设备 106、 包括三个处理设备的第二处理设备 108 以及包括三个负载平衡器的负载平衡器 104。然而, 在其它实施例中, 第一处理设备 106、 第二处理设备 108 和负载平衡器 104 可相 应地包括更少或附加的第一处理设备 106、 第二处理设备 108 和负载平衡器 104。
     图 2 示出第一处理设备 106 的示例性处理设备 200。示例性处理设备 200 可包括 多个虚拟机 (VM)202。例如, 处理设备 200 可包括 4 个核心处理器, 其中每一个可被分配为 与相应的虚拟机 (VM) 一起使用。 或者, 可部署不同数量的虚拟机 (VM) 以在处理设备 200 上
     执行。例如, 可为一些虚拟机 (VM) 分配四个核心处理器中的一个, 且可为其它虚拟机 (VM) 分配四个核心处理器中的两个或更多个。
     处理设备 200 是示例性处理设备。在其它实施例中, 处理设备 200 可包括更多或 更少的核心处理器, 并且可在其上执行不同数量的虚拟机 (VM)。
     示例性处理设备
     图 3 是可用于实现根据本公开的主题的第一处理设备 106 和 / 或第二处理设备 108 的各实施例的示例性处理设备 300 的功能框图。处理设备 300 可以是服务器或者其它 类型的处理设备。处理设备 300 可包括总线 310、 处理器 320、 随机存取存储器 (RAM)330、 只读存储器 (ROM)340、 输入设备 350、 输出设备 360、 存储设备 365 以及通信接口 370。总线 310 可允许处理设备 300 的组件之间的通信
     处理器 320 可包括解释和执行指令的一个或多个传统处理器。存储器可包括 RAM 330、 ROM 340、 或者存储由处理器 120 执行的信息和指令的另一类型的动态或静态存储设 备。 RAM 330 或另一类型的动态存储设备可存储指令以及临时变量, 或者在由处理器 320 执 行指令期间使用的其它中间信息。ROM 140 或另一类型的静态存储设备可为处理器 320 存 储静态信息和指令。 输入设备 350 可包括键盘、 定点设备、 电子笔、 触摸屏、 或用于提供输入的其它设 备。输出设备 360 可包括显示器、 打印机、 或用于输出信息的其它设备。存储设备 365 可包 括磁盘或磁盘驱动器、 光介质、 或用于存储数据和 / 或指令的其它介质。通信接口 370 可包 括用于通过有线或无线连接经由网络与设备通信的收发器。
     响应于处理器 320 执行在例如诸如 RAM330、 ROM340 或其它介质等实体机器可读介 质中包含的指令序列, 处理设备 300 可执行功能。可通过通信接口 370 从另一机器可读介 质或者从分开的设备中将这些指令读入 RAM 330 中。示例性系统
     图 4 示出实现根据本公开的主题的应用效率引擎的示例性系统 400 的功能图。系 统 400 可包括简档配置器 402、 数据储存库 404、 监视器 406、 趋势引擎 408、 一个或多个虚拟 机 (VM)410、 调度器 412、 以及一个或多个负载平衡器 104。
     简档配置器 402 可从执行具有各虚拟硬件配置的虚拟机 (VM)410 并且执行相同应 用的处理设备 106 处收集性能和容量统计数据。性能和容量统计数据可包括处理器利用 率、 分配的存储器的量、 每固定时间单元向诸如磁盘或其它介质等介质的输入 / 输出的数 量 ( 例如, 秒或者其它合适的固定时间单元 )、 在介质上可用和 / 或使用的存储空间的量、 网 络利用率、 以及其它统计数据。简档配置器 402 还可收集应用响应时间统计数据。
     在一些实施例中, 可从负载平衡器 104 处收集应用响应时间统计数据。在其它实 施例中, 可从其它设备处收集应用响应时间统计数据。应用响应时间统计数据可包括由在 任一虚拟机 (VM)410 上执行的应用每秒 ( 或其它合适的固定时间单元 ) 处理的数个事务。 在其它实施例中, 可收集附加或不同的性能和容量统计数据和 / 或应用响应时间统计数 据。
     在一些实施例中, 简档配置器 402 可分别从第一处理设备 106 和负载平衡器 104 处直接收集性能和容量统计数据以及应用响应时间统计数据。在其它实施例中, 简档配置 器 402 可访问数据储存库 404, 该数据储存库可存储由第一和第二处理设备 106、 108 中的至 少一个从相应的源处收集到的性能和容量统计数据以及应用响应时间统计数据。
     监视器 406 可在第一和第二处理设备 106、 108 中的至少一个上执行。监视器 406 可从第一处理设备 106 处获取性能和收集统计数据, 并且从负载平衡器 104 或其它设备处 获取应用响应时间统计数据, 并且可将性能和收集统计数据以及应用响应时间统计数据、 以及其它信息存储在数据储存库 404 中。在一些实施例中, 其它信息可包括时间指示、 特 定虚拟机 (VM) 的指示、 从其处收集到统计数据的第一处理设备 106 中的特定一个设备的指 示、 以及其它数据。在其它实施例中, 其它信息可包括附加或不同的数据。
     趋势引擎 408 可在第一和第二处理设备 106、 108 中的至少一个上执行。趋势引擎 408 可访问可被存储在数据储存库 404 中或者被简档配置器 402 提供的收集到的性能和容 量统计数据以及应用响应时间统计数据。趋势引擎 408 可分析该统计以导出改进的硬件简 档, 这一改进的简档然后可以被趋势引擎 408 提供给调度器 412。
     调度器 412 可从具有用以支持所导出的改进的硬件简档的可用资源的第一处理 设备 106 中确定处理设备。调度器 412 然后可以在所确定的处理设备上调度和部署具有与 所导出的改进的硬件简档匹配的虚拟硬件配置的虚拟机 (VM)410。
     如果在某一时刻监视器 406 确定与执行应用的虚拟机 (VM)410 有关的阈值条件发 生, 则监视器 406 可通知调度器 412 调度和部署具有数个虚拟硬件配置的虚拟机 (VM)410, 并且监视器 406 可进一步通知简档配置器 402 收集性能和容量统计数据以及应用响应时间 统计数据, 以便导出更新的改进的硬件简档。或者, 如果监视器 406 确定与执行应用的虚拟 机 (VM)410 有关的阈值条件发生时, 则监视器 406 可通知简档配置器 402, 该简档配置器可 通知调度器 412 调度和部署具有数个虚拟硬件配置的虚拟机 (VM)410。简档配置器 402 然 后可收集性能和容量统计数据以及应用响应时间统计数据, 以便导出更新的改进的硬件简 档。这将在以下被更加详细地讨论。
     示例性处理
     图 5 是可在根据本公开的主题的各实施例中执行的示例性过程的流程图。过 程可以始于调度器 412 向处理设备 106 上部署具有相应的虚拟硬件配置的数个虚拟机 (VM)410( 动作 502)。 简档配置器 402 可从设备直接收集统计数据, 例如诸如从处理设备 106 处收集性能和容量统计数据, 以及从负载平衡器 104 或其它设备处收集应用响应时间统计 数据 ( 动作 504)。简档配置器 402 可将收集到的统计数据存储在数据储存库 404 中 ( 动作 506), 并且可调用或通知趋势引擎 408 以配置应用。趋势引擎 408 可访问存储在数据储存 库 404 中的收集到的统计数据, 以自动地对应用进行简档配置和导出改进的硬件简档 ( 动 作 508)。
     图 6 是示出在根据本公开的主题的实施例中与趋势引擎 408 有关的示例性处理的 流程图。过程可以始于趋势引擎 408 访问存储在数据储存库 404 中的收集到的统计数据以 便知悉与各虚拟硬件配置有关的改进的应用效率 ( 动作 602)。接着, 趋势引擎 408 可为实 现改进的应用效率分析硬件简档的各方面 ( 动作 604)。
     图 7 和 8 示出对硬件简档的各方面的示例性分析。图 7 是其中沿着轴 702 表示数 个处理器并且沿着轴 704 表示处理器利用率的百分比的示图。如可通过观察该示图所看到 的, 当分配 0.5 处理器时, 处理器利用率大致为 30%。当分配一个处理器时, 处理器利用率 提升到大约 45%。当分配两个处理器时, 处理器利用率增长到大约 85%。当分配附加处理 器时, 处理器利用率提升得非常微小。例如, 当分配三个处理器时, 处理器利用率增长到大约 87.5%, 并且当分配四个处理器时, 处理器利用率增长到大约 90%。因此, 在分配两个处 理器之后, 增加更多的处理器不会明显增加处理器利用率。当分析与处理器的数目有关的 处理器利用率时, 简档配置器 408 可选择使得图示的斜率小于预定义值的处理器数目, 例 如诸如 0.2, 或者对应于沿着轴 702 的至少一个预定义长度的另一合适的值。在这一示例 中, 简档配置器 408 可将两个处理器选择为改进的处理器的数目。
     类似地, 图 8 是其中沿着轴 802 表示 RAM 的千兆字节 (GB) 数并且沿着轴 804 表示 每秒的事务的数目的示图。如所能看到的, 当分配 1GB 的存储器时, 每秒可处理大约 1000 个事务。当分配 2GB 的存储器时, 每秒可执行大约 1800 个事务。当分配 4GB 的存储器时, 每秒可执行大约 2250 个事务。当分配 8GB 的存储器时, 可观察到在每秒处理的事务的数目 上的显著增长 ( 在这一示例中, 大约每秒 5100 个事务 )。当分配 16GB 的存储器时, 可观察 到在每秒处理的事务的数目上的小的增长 ( 在这一示例中, 大约每秒 6100 个事务 )。当分 配 32GB 的存储器时, 每秒可执行大约 7000 个事务。可观察到在分配 8GB 的存储器之后, 增 加附加的存储器不会显著增加每秒处理的事务的数目。 当分析与每秒处理的事务的数目有 关的处理器数量时, 简档配置器 408 可选择使得图示的斜率小于预定义值的存储器数量, 例如诸如 0.2, 或者对应于沿着轴 802 的至少一个预定义长度的另一合适的值。 在这一示例 中, 简档配置器 408 可将 8GB 的存储器选择为存储器的改进数量。
     返回至图 6, 趋势引擎 408 可基于在动作 604 期间执行的分析来导出改进的硬件简 档 ( 动作 606)。趋势引擎 408 然后可基于收集到的统计数据或导出的硬件简档来导出角 色 ( 动作 608)。角色可包括前端处理器、 SQL 协议服务器以及其它角色。可将角色中的每 一个定义为硬件简档的范围。简档配置器 408 可基于将导出的硬件简档与对应于角色的硬 件简档范围中的一个匹配来导出角色。趋势引擎 408 然后可将导出的角色与导出的硬件简 档相关联, 从而使具有与导出的角色匹配的角色的任一虚拟机 (VM)410 可具有与导出的硬 件简档相对应的虚拟硬件配置。
     返回至图 5, 调度器 412 可调度对具有与导出的硬件简档匹配的虚拟硬件配置的 虚拟机 (VM)410 的部署 ( 动作 510)。
     图 9 是示出可由调度器 412 执行的示例性处理的流程图。首先, 调度器 412 可从 具有至少一定数量的与导出的硬件简档匹配的可用资源的第一处理设备 106 中确定处理 设备 ( 动作 902)。调度器 412 然后可在所确定的第一处理设备 106 上调度对具有与导出的 硬件简档匹配的虚拟硬件配置的虚拟机 (VM)410 的部署或重新部署 ( 动作 904)。
     返回至图 5, 监视器 406 可监视执行应用的虚拟机 (VM)410 的性能和容量统计数 据 ( 动作 512)。监视器 406 可查询例如诸如第一处理设备 106 中具有执行应用的虚拟机 (VM)410 的诸处理设备以及将负载提供给处理设备 106 中的诸处理设备的负载平衡器 104 之类的设备。或者, 可由第一和第二处理设备 106、 108 中的一个收集统计数据并将其存储 在数据储存库 404 中, 并且监视器 406 可访问存储在数据储存库 404 中的收集到的统计数 据以便监视性能和容量统计数据。
     监视器 406 然后可从数个阈值条件中确定与执行应用的任一虚拟机 (VM)410 有关 的阈值条件是否已经发生 ( 动作 514)。在一个实施例中, 这些阈值条件可包括 : 处理器利 用率中的第一预定义改变持续至少第一给定时间段, 存储器分配中的第二预定义改变持续 至少第二给定时间段, 针对介质的输入 / 输出的活动数量中的第三预定义改变持续至少第三给定时间段, 网络输入 / 输出数量中的第四预定义改变横跨第四给定时间段, 以及应用 响应时间中的第五预定义改变持续至少第五给定时间段。
     如果没有阈值条件发生, 则监视器 406 可继续监视第一处理设备 106 中具有执行 应用的虚拟机 (VM)410 的诸处理设备以及向第一处理设备 106 中的诸处理设备提供负载的 负载平衡器 104 的统计数据 ( 动作 512)。否则, 监视器 406 可通知调度器 412 部署虚拟机 (VM)410 并且将应用加载到具有数个虚拟硬件配置的第一处理设备 106 中 ( 动作 502), 并 且监视器 406 可通知趋势引擎 402 收集统计数据 ( 动作 504)。
     结论
     尽管用对结构特征和 / 或方法动作专用的语言描述了本主题, 但可以理解, 所附 权利要求书中的主题不必限于上述具体特征或动作。相反, 上述具体特征和动作是作为实 现权利要求的示例形式公开的。
     所述各实施例的其它配置也是本公开的范围的一部分。 例如, 在其它实施例中, 由 诸如图 5、 6 和 9 中所示的过程等过程执行的动作次序可以是不同的和 / 或包括附加或其它 动作。
     因此, 所附权利要求书及其合法的等效技术方案定义各实施例, 而非任何给出的 具体示例。

应用效率引擎.pdf_第1页
第1页 / 共16页
应用效率引擎.pdf_第2页
第2页 / 共16页
应用效率引擎.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《应用效率引擎.pdf》由会员分享,可在线阅读,更多相关《应用效率引擎.pdf(16页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102414674 A (43)申请公布日 2012.04.11 C N 1 0 2 4 1 4 6 7 4 A *CN102414674A* (21)申请号 201080019495.2 (22)申请日 2010.04.23 12/432,911 2009.04.30 US G06F 15/16(2006.01) H04L 12/28(2006.01) G06F 17/00(2006.01) G06F 11/30(2006.01) G06F 3/00(2006.01) (71)申请人微软公司 地址美国华盛顿州 (72)发明人 R派克 K V瓦德 R 弗莱尔斯 (74。

2、)专利代理机构上海专利商标事务所有限公 司 31100 代理人高见 (54) 发明名称 应用效率引擎 (57) 摘要 提供了系统和方法。可访问和收集与在一个 或多个虚拟机(VM)上执行的应用有关的性能和 容量统计数据。可分析收集到的性能和容量统计 数据以确定用于在虚拟机(VM)上有效地执行应 用的改进的硬件简档。可调度和部署具有与改进 的硬件简档匹配的虚拟硬件配置的虚拟机(VM) 以执行应用。可周期性地分析与虚拟机(VM)有关 的性能和容量统计数据,以确定阈值条件是否发 生。当已经确定阈值条件发生时,可自动地分析与 具有同不同的硬件简档相对应的不同配置的虚拟 机(VM)有关的性能和容量统计数据。

3、,以确定更新 的改进的硬件简档。可用与更新的改进的简档匹 配的虚拟硬件配置来重新部署用于执行应用的虚 拟机(VM)。 (30)优先权数据 (85)PCT申请进入国家阶段日 2011.10.28 (86)PCT申请的申请数据 PCT/US2010/032311 2010.04.23 (87)PCT申请 的公布数据 WO2010/126805 EN 2010.11.04 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 7 页 附图 6 页 CN 102414688 A 1/2页 2 1.一种用于为应用自动地学习改进的硬件简档的方法,所。

4、述方法包括: 由操作环境的一个或多个处理设备的处理设备收集在多个硬件配置中执行的应用的 性能统计数据(504); 由操作环境的一个或多个处理设备的处理设备基于所收集到的性能统计数据自动地 对应用进行简档配置,以导出与应用有关的改进的硬件简档(508); 由操作环境的一个或多个处理设备的处理设备调度对在多个第二处理设备的第二 处理设备上的虚拟机的部署,所述虚拟机具有与所导出的硬件简档匹配的虚拟硬件配置 (510);以及 为执行所述应用在所述第二处理设备上部署所述虚拟机(510)。 2.如权利要求1所述的方法,其特征在于,所述对应用进行自动简档配置还包括: 基于所存储的收集到的性能统计数据来导出与。

5、所述应用相关联的角色,以及 将角色与所述硬件简档相关联。 3.如权利要求2所述的方法,其特征在于,还包括: 由操作环境的一个或多个处理设备的处理设备监视在所述第二处理设备上执行的应 用的性能统计数据; 由操作环境的一个或多个处理设备的处理设备基于监视导出更新的改进的硬件简 档; 由操作环境的一个或多个处理设备的处理设备执行对虚拟机的重新部署的调度,所述 虚拟机的虚拟硬件配置与所导出的更新的改进的硬件简档匹配;以及 在多个第二处理设备的第二处理设备上重新部署所述虚拟机。 4.如权利要求3所述的方法,其特征在于,还包括: 将角色与更新的改进的硬件简档相关联。 5.如权利要求3所述的方法,其特征在于。

6、,还包括: 由一个或多个处理设备的处理设备计算与在所部署的虚拟机上执行的应用有关的处 理器利用率、分配的存储器数量、与介质有关的每固定时间单元的输入/输出数、与介质有 关的使用或可用的存储空间、以及网络利用率,其中 所述导出更新的改进的硬件简档至少部分基于处理器利用率、分配的存储器数量、与 介质有关的每固定时间单元的输入/输出数、与介质有关的使用或可用的存储空间、以及 网络利用率。 6.如权利要求1所述的方法,其特征在于,所述对虚拟机的部署的调度还包括: 将改进的硬件简档与在多个第二处理设备上可用的虚拟机资源作比较, 确定所述多个第二处理设备中的一个为具有与改进的硬件简档匹配的至少可用机器 资。

7、源,以及 在多个第二处理设备中的所确定的一个上调度对虚拟机的部署。 7.如权利要求1所述的方法,其特征在于,还包括: 由一个或多个负载平衡器为在具有不同虚拟硬件配置的多个虚拟机中执行的应用的 多个副本分发负载,所述分发负载是基于所述应用的所述多个副本的各自的响应时间,其 中 所述收集性能统计数据还包括: 权 利 要 求 书CN 102414674 A CN 102414688 A 2/2页 3 收集由一个或多个负载平衡器报告的应用响应时间数据。 8.如权利要求1所述的方法,其特征在于,还包括: 分析与效率有关的多个硬件简档,所述效率由执行所述应用并且具有与多个硬件简档 中的诸硬件简档匹配的虚拟。

8、硬件配置的多个虚拟机来达成,其中 所导出的改进的硬件简档至少部分地基于分析的结果。 9.一种用于为虚拟机自动地学习硬件简档以便以改进的效率执行应用的系统,所述系 统包括: 至少一个简档配置器(402),用于收集与在多个硬件配置中执行的应用有关的性能和 容量统计数据; 趋势引擎,用于访问收集到的性能和容量统计数据并且自动地对应用进行简档配置以 导出硬件简档和应用的角色,所述应用的所述角色与硬件简档相关联,所述虚拟机具有与 所导出的硬件简档匹配的虚拟硬件配置,所导出的硬件简档是用于以改进的效率执行所述 应用的配置(408、602-610); 调度器,用于将所述硬件简档与物理处理设备进行匹配,所述物。

9、理处理设备具有至少 足够的对具有与所导出的硬件简档匹配的虚拟硬件配置的虚拟机可用的资源,所述调度器 在物理处理设备上部署所述虚拟机(412、902-904)。 10.如权利要求9所述的系统,其特征在于,还包括: 至少一个负载平衡器,用于为在具有多个虚拟硬件配置的多个虚拟机中执行的多个应 用的副本分发负载,用于分发负载的所述至少一个负载平衡器是基于执行所述应用的所述 副本的应用响应时间。 11.如权利要求10所述的系统,其特征在于: 所述至少一个负载平衡器维护在所述多个虚拟机中执行的所述应用的所述副本的应 用响应时间统计数据,以及 所述至少一个简档配置器从至少一个负载平衡器处收集应用响应时间统计。

10、数据。 12.如权利要求9所述的系统,其特征在于,还包括: 用于在所部署的虚拟机上监视应用的性能的监视器,其中 当监视器检测到与执行应用有关的性能改变超过阈值水平时,监视器调用所述至少一 个简档配置器以及趋势引擎来自动地导出更新的硬件简档。 13.如权利要求12所述的系统,其特征在于: 所述监视器周期性地接收性能和容量统计数据,以及 所述监视器分析周期性接收到的性能和容量统计数据以检测性能改变超过阈值水平。 14.如权利要求9所述的系统,其特征在于,所述趋势引擎至少部分地基于处理器利用 率、分配的存储器数量、与介质有关的每固定时间单元的输入/输出数、与介质有关的使用 或可用的存储空间、以及与包。

11、括执行所述应用的至少一个虚拟机的至少一个物理处理设备 有关的网络利用率,来导出硬件简档。 15.如权利要求14所述的系统,其特征在于,所述趋势引擎还至少部分地基于分析与 效率有关的多个硬件简档来导出硬件简档,所述效率由执行所述应用并且具有与所述多个 硬件简档匹配的虚拟硬件配置的相应的虚拟机来达成。 权 利 要 求 书CN 102414674 A CN 102414688 A 1/7页 4 应用效率引擎 0001 背景 0002 在许多现有的数据中心内,处理设备和应用程序的利用率远远低于最优值。例如, 许多数据中心的管理者过分提供数据中心内的处理设备资源,因此,数据中心内的某些处 理设备仅有10。

12、到30的负载,从而使得资源没有被充分利用。在一些数据中心内处理设 备执行虚拟机(VM)。由于不同的应用具有不同的资源需求,因此对通用虚拟机(VM)做出标 准的假设将导致数据中心的处理设备中降级的应用效率。 0003 概述 0004 提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。 本概述并不旨在标识出所要求保护的主题的关键或必要特征,也不旨在用于限定所要求保 护的主题的范围。 0005 在根据本公开的主题的各实施例中,系统可包括趋势引擎、调度器、监视器和简档 配置器(profiler)。在板载过程期间,趋势引擎可捕获执行应用的虚拟机的性能和容量统 计数据。系统可通过使用简。

13、档配置器来自动地学习改进的硬件简档,以分析捕获的性能和 容量统计数据。作为分析的结果,趋势引擎可导出用于执行应用的改进的硬件简档。调度器 可调度和部署具有与导出的改进的硬件简档匹配的虚拟硬件配置的一个或多个虚拟机。在 部署之后,监视器可周期性地采样所部署的一个或多个虚拟机的性能和容量统计数据。当 监视器检测到阈值条件发生时,监视器可调用趋势引擎和简档配置器以自动地导出更新的 改进的硬件简档。调度器然后可用与所导出的更新的改进的硬件简档匹配的虚拟硬件配置 来重新部署一个或多个虚拟机。 0006 在一些实施例中,性能和容量统计数据可被收集并且存储在数据储存库中。简档 配置器可分析存储在数据储存库中。

14、的性能和容量统计数据。可以由执行至少一个虚拟机 (VM)的一个或多个处理设备维护和提供性能和容量统计数据。一个或多个负载平衡器可基 于应用响应时间,在一个或多个虚拟机(VM)之间为应用分发负载。 0007 附图 0008 为了描述能够获得上述和其它优点和特征的方式,以下描述更为具体的描述,并 且将通过参考附图中示出的各具体实施例来呈现这一更为具体的描述。应当理解,这些附 图仅描绘了典型实施例,因此其不应被认为是对范围的限制,将通过使用附图用附加的特 征和细节来描述并解释各实现。 0009 图1示出其中可实现根据本公开的主题的系统的实施例的示例性操作环境。 0010 图2示出多个虚拟机(VM)可。

15、在其上执行的示例性处理设备。 0011 图3示出可用于实现实施例的各方面的示例性处理设备。 0012 图4是示出根据本公开的主题的示例性系统的功能组件的功能框图。 0013 图5是示出可在根据本公开的主题的各实施例中实现的示例性过程的流程图。 0014 图6是示出用于自动配置应用并且导出改进的硬件简档的示例性过程的流程图。 0015 图7和8是示出可在导出改进的硬件简档时执行的分析的示图。 0016 图9是解释可在根据本公开的主题的各实施例中执行的,用与导出的改进的简档 说 明 书CN 102414674 A CN 102414688 A 2/7页 5 匹配的虚拟硬件配置来调度和部署虚拟机的示。

16、例性过程的流程图。 0017 详细描述 0018 以下详细讨论各实施例。尽管讨论了具体的实现,但是应当理解这样做只是为了 说明的目的。相关领域的技术人员将意识到可以使用其它组件和配置,而不背离本公开的 主题的精神和范围。 0019 概览 0020 在根据本公开的主题的各实施例中,数据中心可包括用于将应用加载到具有变化 的虚拟硬件配置的多个虚拟机(VM)中的应用效率引擎。可安排一个或多个负载平衡器以 基于虚拟机(VM)中执行的应用各自确定的响应时间来在多个虚拟机(VM)之间分配负载。 与执行应用的虚拟机(VM)有关的性能和容量统计可被收集和存储在数据储存库中。可访 问和分析数据储存库中的性能和容。

17、量统计,以自动地对应用进行简档配置(profile)和导 出改进的硬件简档。调度器可为具有与导出的硬件简档匹配的虚拟硬件配置的虚拟机(VM) 确定具有可用资源的至少一个处理设备。调度器然后可为执行应用部署虚拟机(VM)。 0021 在一些实施例中,可由处理设备监控执行应用的虚拟机(VM)的性能和容量统计 数据。处理设备可访问可存储性能和容量统计数据以及应用的响应时间统计的数据储存 库。或者,例如处理设备可查询诸如例如负载平衡器、服务器或其它设备等的一个或多个其 它设备,以获取与在虚拟机(VM)上执行的应用有关的性能和容量统计数据以及应用的响 应时间统计数据(总体地被称为统计数据)。处理设备可分。

18、析统计以确定与在一个或多个 虚拟机(VM)上执行的应用有关的阈值条件是否已经发生。当若干个条件发生时,可确定阈 值条件发生。在一个实施例中,这些条件可包括: 0022 1.执行应用的一个或多个虚拟机(VM)的处理器利用率中的第一预定义改变,持 续至少第一给定时间段; 0023 2.执行应用的一个或多个虚拟机(VM)的存储器分配中的第二预定义改变,持续 至少第二给定时间段; 0024 3.例如与诸如硬盘驱动器或其它介质等介质有关的输入/输出活动量中的第三 预定义改变,由执行应用的一个或多个虚拟机(VM)使用并且持续至少第三给定时间段; 0025 4.与执行应用的一个或多个虚拟机(VM)有关的网络。

19、输入/输出量中的第四预定 义改变,持续至少第四给定时间段;以及 0026 5.在一个或多个虚拟机(VM)上执行的应用的应用响应时间中的第五预定义改 变,持续至少第五给定时间段。 0027 上述阈值条件是示例性的。在根据本公开的主题的其它实施例中,可定义附加或 不同的阈值条件。 0028 如果确定阈值条件中的至少一个已经发生,则应用效率引擎可再次将应用加载到 具有变化的虚拟硬件配置的多个虚拟机(VM)中,可访问和分析统计数据以自动地对应用 进行简档配置并且导出改进的硬件简档,并且调度器可再次为具有与所导出的改进的硬件 简档匹配的虚拟硬件配置的虚拟机(VM)确定具有可用资源的至少一个处理设备。调度。

20、器 然后可用与所导出的改进的硬件配置匹配的虚拟硬件配置,为执行应用重新部署一个或多 个虚拟机(VM)。 0029 示例性操作环境 说 明 书CN 102414674 A CN 102414688 A 3/7页 6 0030 图1示出用于根据本公开的主题的各实施例的示例性操作环境100。操作环境100 可包括网络102、一个或多个负载平衡器104、第一处理设备106和第二处理设备108。 0031 网络102可是局域网,或者其它类型的网络。网络102可是有线或无线网络,并且 例如可用诸如例如因特网之类的其它网络来连接。 0032 负载平衡器104可与共处一地的处理设备、或者跨网络102与远程处理。

21、设备通信。 当负载平衡器104接收到负载时,例如诸如用于在驻在第一处理设备106上的若干个虚拟 机(VM)中的一个虚拟机上执行的应用的数据或其它信息,负载平衡器104可将负载递送给 在具有最短应用响应时间的第一处理设备106中的一个设备上执行应用的虚拟机(VM)中 的一个虚拟机。在一些操作环境中,负载平衡器104可以是市场上销售的负载平衡器,这些 负载平衡器将负载从若干个虚拟机(VM)中递送给具有最短应用响应时间的虚拟机(VM)。 在负载平衡器104中包括的处理设备上,可用硬件实现或者可用软件实现负载平衡器104 的各实施例。在一个实施例中,负载平衡器104可包括可从华盛顿州西雅图市的F5处获。

22、得 的负载平衡器。 0033 第一处理设备106中的每一个都具有在其上执行的一个或多个虚拟机(VM)。在一 些实施例中,第一处理设备106中的每一个都可以是服务器。虚拟机(VM)中的每一个都可 具有虚拟硬件配置,并且虚拟机(VM)中的至少一些可执行应用的副本。虚拟硬件配置可包 括例如诸如核心处理器的数个处理器、分配的存储器的量、以及例如诸如磁盘存储空间或 其它存储空间等的分配的存储空间的量。在一些实施例中,虚拟硬件配置可包括附加或其 它的配置信息。 0034 第二处理设备108可包括一个或多个处理设备。第二处理设备108可执行:简档 配置器,用于在具有数个虚拟硬件配置的虚拟机(VM)中执行应用。

23、;趋势引擎,用于对在具 有变化的虚拟硬件配置的一个或多个虚拟机(VM)上执行的应用进行简档配置以导出改进 的硬件简档;调度器,用于确定具有可用资源的第一处理设备106中的一个来执行具有与 所导出的改进的硬件简档匹配的虚拟硬件配置的虚拟机(VM)以及所确定的第一处理设备 中的一个设备上部署虚拟机(VM);以及监视器,用于监控与执行应用的虚拟机(VM)有关的 性能和容量统计数据并且用于导致循环重复以在至少一个阈值条件发生时导出另一改进 的硬件简档。趋势引擎、简档配置器、调度器以及监视器可在第二处理设备108中的相同处 理设备中、第二处理设备108中的分开的处理设备、或者在第二处理设备108中的多个。

24、处理 设备中执行,从而趋势引擎、简档配置器、调度器以及监视器中的至少一个可在第二处理设 备108中与趋势引擎、简档配置器、调度器以及监视器中的至少另一个相同的处理设备中 执行。在一些实施例中,还可将第二处理设备108中的一个或多个包括为第一处理设备106 的第一处理设备。在其它实施例中,在第一处理设备106中可不包括处理设备108。 0035 如图1所示的操作环境100是示例性的,并且示出包括三个处理设备的第一处理 设备106、包括三个处理设备的第二处理设备108以及包括三个负载平衡器的负载平衡器 104。然而,在其它实施例中,第一处理设备106、第二处理设备108和负载平衡器104可相 应地。

25、包括更少或附加的第一处理设备106、第二处理设备108和负载平衡器104。 0036 图2示出第一处理设备106的示例性处理设备200。示例性处理设备200可包括 多个虚拟机(VM)202。例如,处理设备200可包括4个核心处理器,其中每一个可被分配为 与相应的虚拟机(VM)一起使用。或者,可部署不同数量的虚拟机(VM)以在处理设备200上 说 明 书CN 102414674 A CN 102414688 A 4/7页 7 执行。例如,可为一些虚拟机(VM)分配四个核心处理器中的一个,且可为其它虚拟机(VM) 分配四个核心处理器中的两个或更多个。 0037 处理设备200是示例性处理设备。在其。

26、它实施例中,处理设备200可包括更多或 更少的核心处理器,并且可在其上执行不同数量的虚拟机(VM)。 0038 示例性处理设备 0039 图3是可用于实现根据本公开的主题的第一处理设备106和/或第二处理设备 108的各实施例的示例性处理设备300的功能框图。处理设备300可以是服务器或者其它 类型的处理设备。处理设备300可包括总线310、处理器320、随机存取存储器(RAM)330、 只读存储器(ROM)340、输入设备350、输出设备360、存储设备365以及通信接口370。总线 310可允许处理设备300的组件之间的通信 0040 处理器320可包括解释和执行指令的一个或多个传统处理器。

27、。存储器可包括RAM 330、ROM 340、或者存储由处理器120执行的信息和指令的另一类型的动态或静态存储设 备。RAM 330或另一类型的动态存储设备可存储指令以及临时变量,或者在由处理器320执 行指令期间使用的其它中间信息。ROM 140或另一类型的静态存储设备可为处理器320存 储静态信息和指令。 0041 输入设备350可包括键盘、定点设备、电子笔、触摸屏、或用于提供输入的其它设 备。输出设备360可包括显示器、打印机、或用于输出信息的其它设备。存储设备365可包 括磁盘或磁盘驱动器、光介质、或用于存储数据和/或指令的其它介质。通信接口370可包 括用于通过有线或无线连接经由网络。

28、与设备通信的收发器。 0042 响应于处理器320执行在例如诸如RAM330、ROM340或其它介质等实体机器可读介 质中包含的指令序列,处理设备300可执行功能。可通过通信接口370从另一机器可读介 质或者从分开的设备中将这些指令读入RAM 330中。示例性系统 0043 图4示出实现根据本公开的主题的应用效率引擎的示例性系统400的功能图。系 统400可包括简档配置器402、数据储存库404、监视器406、趋势引擎408、一个或多个虚拟 机(VM)410、调度器412、以及一个或多个负载平衡器104。 0044 简档配置器402可从执行具有各虚拟硬件配置的虚拟机(VM)410并且执行相同应。

29、 用的处理设备106处收集性能和容量统计数据。性能和容量统计数据可包括处理器利用 率、分配的存储器的量、每固定时间单元向诸如磁盘或其它介质等介质的输入/输出的数 量(例如,秒或者其它合适的固定时间单元)、在介质上可用和/或使用的存储空间的量、网 络利用率、以及其它统计数据。简档配置器402还可收集应用响应时间统计数据。 0045 在一些实施例中,可从负载平衡器104处收集应用响应时间统计数据。在其它实 施例中,可从其它设备处收集应用响应时间统计数据。应用响应时间统计数据可包括由在 任一虚拟机(VM)410上执行的应用每秒(或其它合适的固定时间单元)处理的数个事务。 在其它实施例中,可收集附加或。

30、不同的性能和容量统计数据和/或应用响应时间统计数 据。 0046 在一些实施例中,简档配置器402可分别从第一处理设备106和负载平衡器104 处直接收集性能和容量统计数据以及应用响应时间统计数据。在其它实施例中,简档配置 器402可访问数据储存库404,该数据储存库可存储由第一和第二处理设备106、108中的至 少一个从相应的源处收集到的性能和容量统计数据以及应用响应时间统计数据。 说 明 书CN 102414674 A CN 102414688 A 5/7页 8 0047 监视器406可在第一和第二处理设备106、108中的至少一个上执行。监视器406 可从第一处理设备106处获取性能和收。

31、集统计数据,并且从负载平衡器104或其它设备处 获取应用响应时间统计数据,并且可将性能和收集统计数据以及应用响应时间统计数据、 以及其它信息存储在数据储存库404中。在一些实施例中,其它信息可包括时间指示、特 定虚拟机(VM)的指示、从其处收集到统计数据的第一处理设备106中的特定一个设备的指 示、以及其它数据。在其它实施例中,其它信息可包括附加或不同的数据。 0048 趋势引擎408可在第一和第二处理设备106、108中的至少一个上执行。趋势引擎 408可访问可被存储在数据储存库404中或者被简档配置器402提供的收集到的性能和容 量统计数据以及应用响应时间统计数据。趋势引擎408可分析该统。

32、计以导出改进的硬件简 档,这一改进的简档然后可以被趋势引擎408提供给调度器412。 0049 调度器412可从具有用以支持所导出的改进的硬件简档的可用资源的第一处理 设备106中确定处理设备。调度器412然后可以在所确定的处理设备上调度和部署具有与 所导出的改进的硬件简档匹配的虚拟硬件配置的虚拟机(VM)410。 0050 如果在某一时刻监视器406确定与执行应用的虚拟机(VM)410有关的阈值条件发 生,则监视器406可通知调度器412调度和部署具有数个虚拟硬件配置的虚拟机(VM)410, 并且监视器406可进一步通知简档配置器402收集性能和容量统计数据以及应用响应时间 统计数据,以便导。

33、出更新的改进的硬件简档。或者,如果监视器406确定与执行应用的虚拟 机(VM)410有关的阈值条件发生时,则监视器406可通知简档配置器402,该简档配置器可 通知调度器412调度和部署具有数个虚拟硬件配置的虚拟机(VM)410。简档配置器402然 后可收集性能和容量统计数据以及应用响应时间统计数据,以便导出更新的改进的硬件简 档。这将在以下被更加详细地讨论。 0051 示例性处理 0052 图5是可在根据本公开的主题的各实施例中执行的示例性过程的流程图。过 程可以始于调度器412向处理设备106上部署具有相应的虚拟硬件配置的数个虚拟机 (VM)410(动作502)。简档配置器402可从设备直。

34、接收集统计数据,例如诸如从处理设备106 处收集性能和容量统计数据,以及从负载平衡器104或其它设备处收集应用响应时间统计 数据(动作504)。简档配置器402可将收集到的统计数据存储在数据储存库404中(动作 506),并且可调用或通知趋势引擎408以配置应用。趋势引擎408可访问存储在数据储存 库404中的收集到的统计数据,以自动地对应用进行简档配置和导出改进的硬件简档(动 作508)。 0053 图6是示出在根据本公开的主题的实施例中与趋势引擎408有关的示例性处理的 流程图。过程可以始于趋势引擎408访问存储在数据储存库404中的收集到的统计数据以 便知悉与各虚拟硬件配置有关的改进的应。

35、用效率(动作602)。接着,趋势引擎408可为实 现改进的应用效率分析硬件简档的各方面(动作604)。 0054 图7和8示出对硬件简档的各方面的示例性分析。图7是其中沿着轴702表示数 个处理器并且沿着轴704表示处理器利用率的百分比的示图。如可通过观察该示图所看到 的,当分配0.5处理器时,处理器利用率大致为30。当分配一个处理器时,处理器利用率 提升到大约45。当分配两个处理器时,处理器利用率增长到大约85。当分配附加处理 器时,处理器利用率提升得非常微小。例如,当分配三个处理器时,处理器利用率增长到大 说 明 书CN 102414674 A CN 102414688 A 6/7页 9 。

36、约87.5,并且当分配四个处理器时,处理器利用率增长到大约90。因此,在分配两个处 理器之后,增加更多的处理器不会明显增加处理器利用率。当分析与处理器的数目有关的 处理器利用率时,简档配置器408可选择使得图示的斜率小于预定义值的处理器数目,例 如诸如0.2,或者对应于沿着轴702的至少一个预定义长度的另一合适的值。在这一示例 中,简档配置器408可将两个处理器选择为改进的处理器的数目。 0055 类似地,图8是其中沿着轴802表示RAM的千兆字节(GB)数并且沿着轴804表示 每秒的事务的数目的示图。如所能看到的,当分配1GB的存储器时,每秒可处理大约1000 个事务。当分配2GB的存储器时。

37、,每秒可执行大约1800个事务。当分配4GB的存储器时, 每秒可执行大约2250个事务。当分配8GB的存储器时,可观察到在每秒处理的事务的数目 上的显著增长(在这一示例中,大约每秒5100个事务)。当分配16GB的存储器时,可观察 到在每秒处理的事务的数目上的小的增长(在这一示例中,大约每秒6100个事务)。当分 配32GB的存储器时,每秒可执行大约7000个事务。可观察到在分配8GB的存储器之后,增 加附加的存储器不会显著增加每秒处理的事务的数目。当分析与每秒处理的事务的数目有 关的处理器数量时,简档配置器408可选择使得图示的斜率小于预定义值的存储器数量, 例如诸如0.2,或者对应于沿着轴。

38、802的至少一个预定义长度的另一合适的值。在这一示例 中,简档配置器408可将8GB的存储器选择为存储器的改进数量。 0056 返回至图6,趋势引擎408可基于在动作604期间执行的分析来导出改进的硬件简 档(动作606)。趋势引擎408然后可基于收集到的统计数据或导出的硬件简档来导出角 色(动作608)。角色可包括前端处理器、SQL协议服务器以及其它角色。可将角色中的每 一个定义为硬件简档的范围。简档配置器408可基于将导出的硬件简档与对应于角色的硬 件简档范围中的一个匹配来导出角色。趋势引擎408然后可将导出的角色与导出的硬件简 档相关联,从而使具有与导出的角色匹配的角色的任一虚拟机(VM。

39、)410可具有与导出的硬 件简档相对应的虚拟硬件配置。 0057 返回至图5,调度器412可调度对具有与导出的硬件简档匹配的虚拟硬件配置的 虚拟机(VM)410的部署(动作510)。 0058 图9是示出可由调度器412执行的示例性处理的流程图。首先,调度器412可从 具有至少一定数量的与导出的硬件简档匹配的可用资源的第一处理设备106中确定处理 设备(动作902)。调度器412然后可在所确定的第一处理设备106上调度对具有与导出的 硬件简档匹配的虚拟硬件配置的虚拟机(VM)410的部署或重新部署(动作904)。 0059 返回至图5,监视器406可监视执行应用的虚拟机(VM)410的性能和容。

40、量统计数 据(动作512)。监视器406可查询例如诸如第一处理设备106中具有执行应用的虚拟机 (VM)410的诸处理设备以及将负载提供给处理设备106中的诸处理设备的负载平衡器104 之类的设备。或者,可由第一和第二处理设备106、108中的一个收集统计数据并将其存储 在数据储存库404中,并且监视器406可访问存储在数据储存库404中的收集到的统计数 据以便监视性能和容量统计数据。 0060 监视器406然后可从数个阈值条件中确定与执行应用的任一虚拟机(VM)410有关 的阈值条件是否已经发生(动作514)。在一个实施例中,这些阈值条件可包括:处理器利 用率中的第一预定义改变持续至少第一给。

41、定时间段,存储器分配中的第二预定义改变持续 至少第二给定时间段,针对介质的输入/输出的活动数量中的第三预定义改变持续至少第 说 明 书CN 102414674 A CN 102414688 A 7/7页 10 三给定时间段,网络输入/输出数量中的第四预定义改变横跨第四给定时间段,以及应用 响应时间中的第五预定义改变持续至少第五给定时间段。 0061 如果没有阈值条件发生,则监视器406可继续监视第一处理设备106中具有执行 应用的虚拟机(VM)410的诸处理设备以及向第一处理设备106中的诸处理设备提供负载的 负载平衡器104的统计数据(动作512)。否则,监视器406可通知调度器412部署虚。

42、拟机 (VM)410并且将应用加载到具有数个虚拟硬件配置的第一处理设备106中(动作502),并 且监视器406可通知趋势引擎402收集统计数据(动作504)。 0062 结论 0063 尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附 权利要求书中的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实 现权利要求的示例形式公开的。 0064 所述各实施例的其它配置也是本公开的范围的一部分。例如,在其它实施例中,由 诸如图5、6和9中所示的过程等过程执行的动作次序可以是不同的和/或包括附加或其它 动作。 0065 因此,所附权利要求书及其合法的等效技术方案定义。

43、各实施例,而非任何给出的 具体示例。 说 明 书CN 102414674 A CN 102414688 A 1/6页 11 图1 图2 说 明 书 附 图CN 102414674 A CN 102414688 A 2/6页 12 图3 图4 说 明 书 附 图CN 102414674 A CN 102414688 A 3/6页 13 图5 说 明 书 附 图CN 102414674 A CN 102414688 A 4/6页 14 图6 说 明 书 附 图CN 102414674 A CN 102414688 A 5/6页 15 图7 图8 说 明 书 附 图CN 102414674 A CN 102414688 A 6/6页 16 图9 说 明 书 附 图CN 102414674 A 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1