您可以指定资源(如内存、CPU 和带宽)的资源级别。 资源级别为“最小值”、“最大值”和“默认值”。
“最小值”和“最大值”为应允许的给定资源指定最小值和最大值。 这意味着,如果实体内存的 min=1GB、max=4GB,则您不能为该资源指定小于 1GB 或大于 4GB 的内存。 实际的资源量在启动(应用或组件启动)时便已确定。 当时已计算出实际值并提供给实体。 资源量在实体停止之前不会发生更改。
如果没有提供明确的值,则默认值为将提供给实体的实际资源值。 例如,如果您所拥有组件的内存资源定义为 min=1GB、max=4GB、default=2GB,且未提供明确的值,则该组件将接收默认值 2GB。
您也可以指定实际值。 指定方式如下:通过显式更改实例默认值指定实际值,或从更高级别的实体推断出实际值。 实际值可在 AppLogic ADL 描述符中永久定义,也可在启动或重新启动应用或组件时临时定义。
在应用级别设置资源
CA AppLogic® 可将组件实例的连接系统打包到一个新实体(称为“应用”)中。 应用是不透明对象,它包含所有实例及其连接与配置,以及用户代码和数据。
应用的诸多功能之一是聚合包含的所有组件的资源范围。 应用的最小资源值等于所有实例最小值的总和,应用的最大资源值等于所有实例最大值的总和。 同样,应用的默认资源值等于所有资源默认值的总和。
因此,如果没有在应用级别定义明确的值,将从组件级别继承值或使用组件级别的值。
如果在应用级别为资源定义了明确的值(无论是限值还是默认值),该新值将用于限制所有从属组件或包含的实例。 用于计算从属组件值的算法为线性插值。 简单来说,实例值会根据应用值从继承级别调整的比例来按比例调整。
以具备两个从属组件(A 和 B)的简单应用为例。 A 为 mem.min=1G、mem.max=3G;B 为 mem.min=2G、mem.max=6G。 则应用继承的限值为 mem.min=3G (1+2=3)、mem.max=9G (3+6=9)。 如果我们现在将应用的内存下限设置为 4.5G (mem.min=4.5G),这样会将 A 的 mem.min 调整为 1.5G,B 的 mem.min 调整为 3G。
其计算方式如下:
默认值和最大值也采用相同的算法。 通常,没有必要了解此算法的工作原理。 要了解的重点是当您在应用级别设置资源值(限值或默认值)时, 所有组件的相应资源值都将在其范围内按比例调整。
在此之前,您可能会认为类和实例范围并不是十分重要。 但是,如果要上下调整应用资源, 这就需要您仔细考虑如何使用范围以适当的比例为每个组件分配资源。
应用级别是最终资源值的决定性因素。 可通过以下两种方式调整这些值:
您随时可以查看分配给运行中应用的实际资源值。 app info 命令可为整个应用提供实际值。 comp list 命令可为应用中的每个组件提供实际值。
借助在应用级别指定资源限制和值的能力,应用操作员可以定义要用于整个应用的资源,而无需处理各个组件实例。 例如,生产应用可设置为最大值(默认值设置为最大值),而用于功能测试的应用的副本可设置为最小值。
此时您会发现,存在一个资源值和限制的层次结构。 较好的对象层次结构一般都具备继承性。 如果某个值在特定范围内未明确定义,则该资源值是从父范围继承的。
您会注意到,实例资源配置窗口和应用资源配置窗口都区分了继承值和明确值。 明确定义的值以粗体显示,而继承的值以普通字体显示。 此外,如果值已明确定义,则会提供一个小箭头按钮来还原到继承值。 还会提供一个“全部重置”按钮,可将所有明确的值重置为其继承值。
处理资源
通过将最小值和最大值指定为相同值,您可以设置在启动应用时要使用的精确资源量。 这可确保:
在“资源”选项卡中,您只能通过指定资源的较高最小值或较低最大值来减少资源范围。
资源包含下列信息和可配置字段:
您可以为每个资源类型指定范围。 该范围确定生产环境中应用所需的正常操作参数。
注意:您可以启用 CPU 超额订阅和网络带宽的超额订阅。
您也可以选择指定希望应用在其中运行的服务器。 这是高级选项,当您希望在同一系统上运行几个应用且对排定程序产生的结果不满意时,可能会有帮助。 在大多数情况下,应让该限制处于禁用状态。
要找到您的服务器列表,请执行服务器列表 shell 命令。
如果指定的服务器没有足够资源,应用则在其他服务器(假如有可用资源)上启动。 日志消息在显示板中显示。
|
版权所有 © 2013 CA。
保留所有权利。
|
|