销售电话: 1-800-867-1380

Azure 角色中缓存的容量规划注意事项

更新时间: 2015年5月

note备注
有关为你的应用程序选择合适的 Azure 缓存产品/服务的指导,请参阅 哪种 Azure Cache 产品/服务适合我?

角色中缓存缓存所需的容量由几个因素决定,包括要放入缓存的数据量、读取和写入缓存的频率和数量,以及为缓存指定了什么选项(例如高可用性)。确定了缓存需求后,可配置缓存拓扑。设置的缓存群集的拓扑取决于几个因素,包括虚拟机大小、部署的实例数,以及角色是共享角色还是专用于缓存的角色。本主题演示如何使用 Capacity Planning Guide spreadsheet(容量规划指南电子表格)来确定所需的缓存容量,以及要配置哪些设置才能设置缓存群集以满足相关需求。

Capacity Planning Guide spreadsheet(容量规划指南电子表格)是一个可以从 Microsoft 下载中心下载的电子表格,其中包括可用于协助进行容量规划的两个工作表:Dedicated Role – PlannerCo-Located Role - PlannerDedicated Role – Planner 提供了有关创建 Dedicated Role 缓存群集的指南,Co-Located Role - Planner 提供了有关创建 Co-Located Role 缓存群集的指南。

 

缓存群集部署拓扑 说明

专用角色缓存

辅助角色实例专门用于缓存。

共存角色缓存

缓存与角色所托管的主要应用程序共享 VM 资源(带宽、CPU 和内存)。

如果应用程序在其现有角色中有未利用的内存,则可在这些角色上配置共存角色缓存群集,并将该额外内存用于缓存。如果角色中没有足够的额外内存来支持缓存群集,则既可向外扩展角色,也可添加缓存辅助角色并配置专用角色缓存群集。此指南可帮助你确定满足应用程序缓存需求的部署拓扑所要使用的设置。

以下部分介绍如何将这两个工作表用于 Dedicated RoleCo-located Role 缓存的容量规划。

Dedicated Role – Planner 工作表是 Capacity Planning Guide spreadsheet(容量规划指南电子表格)中的第一个工作表,可用来帮助确定 Dedicated Role 缓存群集的设置。专用角色缓存群集是一个其中的辅助角色实例专门用于缓存的缓存群集。

专用缓存容量计划程序

Dedicated Role – Planner 工作表采用多种类型的输入。第一部分为“输入:数据需求”,用于计算缓存的数据的最大大小。你最多可以为十种数据类型输入“平均对象大小(序列化后)”、“最大对象数”和“是否支持高可用性”。在前一个示例中,有一种数据类型已建模。平均大小为 2,560 字节,缓存中对象的最大数目为 100,000。未启用高可用性。

第二部分为“输入:吞吐量需求”,用于计算缓存的带宽需求,并将峰值负载的“读取次数/秒”和“写入次数/秒”作为输入。在此示例中,数据类型 1 的峰值负载是每秒 10,000 读取次数和每秒 500 写入次数。

第三部分为“输入:高级选项”,提供多个附加输入设置。“峰值负载缓冲 - 数据”和“峰值负载缓冲 - 吞吐量”为应用程序负载中的浪涌提供缓冲区。这些设置可让你方便地针对缓存中的数据量与数据吞吐量增加或减少所需缓冲区。

“在每次 Azure 更新时保留数据”表示当升级域中的角色由于更新而关闭时,容量规划器电子表格是否应包含滚动升级方案的额外容量。当 Azure 由于更新而关闭升级域中的角色时,角色中缓存 会在节点脱机之前尝试将数据移到群集中的其他节点。如果其他节点中的容量不足,因而无法接管额外的负载,则角色中所有已缓存的项将无法传输到其他节点。默认情况下,“在每次 Azure 更新时保留数据”在容量规划器电子表格中设置为“是”。如果设置为“否”,则会降低角色的容量需求。如果“在每次 Azure 更新时保留数据”设置为“是”,指南将保留相当于一个升级域所拥有容量的额外容量。有关升级域的详细信息,请参阅更新 Azure 服务

note备注
如果节点由于故障而关闭,或者由于配置更改引起角色实例数减少而关闭,则缓存数据不会移至其他节点。只有在计划关闭时,角色中缓存才会将数据移至其他节点。可以启用高可用性,以便在发生节点故障时提供缓存数据的备份副本。有关详细信息,请参阅 TechNet 上的 Azure 角色中缓存中的高可用性.

“升级域计数”表示托管缓存群集的角色的升级域数。你可以让容量规划器电子表格为缓存群集推荐升级域计数,也可以自行指定。默认设置为“由规划器设置”。如果选择了由规划器设置,容量规划电子表格将在输出:...部分的升级域中提供建议可能的配置”部分中提供建议。如果在“升级域计数”中手动指定升级域计数,指定的计数将显示在“输出”部分。有关升级域的详细信息,请参阅更新 Azure 服务

配置了输入后,该工具将在“输出:可能的配置”部分中提供建议。在本示例中,建议配置是包括 3 个角色实例的 Medium VM 大小和 3 个升级域。除了推荐的配置外,“输出:可能的配置”部分还显示所需的设置(如果选择了其他 VM 大小之一)。

如果缓存中对象的平均大小小于 2k,容量规划器指南将在“输出”部分的下面显示“缓存数据大小(MB)*”列和注释。

专用缓存容量计划程序缓存设置
note备注
“输出”部分下面显示的链接指向你当前正在阅读的“容量规划注意事项”主题。

如果显示此消息,请通过执行以下步骤,在角色项目中创建一个名为 CacheSettings.xml 的 XML 文件,并添加一个 dataCache 部分,其中包含来自“输出”部分的“缓存数据大小(MB)”设置。

  1. 在“解决方案资源管理器”中右键单击托管缓存群集的角色项目,然后选择“添加”>“新建项”。从“模板”窗格中选择“XML 文件”,在“名称”框中键入“CacheSettings.xml”,然后单击“添加”。

  2. 复制下面的 XML 代码段并将它粘贴到 CacheSettings.xml 文件中。

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="dataCache" type="Microsoft.ApplicationServer.Caching.DataCacheSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere" />
      </configSections>
      <dataCache size="Small">
        <advancedProperties>
          <memoryPressureMonitor cacheUserDataSizePerNode="[CacheDataSize (MB) Setting]" />
        </advancedProperties>
      </dataCache>
    </configuration>
    
    [CacheDataSize (MB) Setting] 替换为对应于你的 VM 大小的“缓存数据大小(MB)”列中的设置。在以下示例中,使用了 2088

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="dataCache" type="Microsoft.ApplicationServer.Caching.DataCacheSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere" />
      </configSections>
      <dataCache size="Small">
        <advancedProperties>
          <memoryPressureMonitor cacheUserDataSizePerNode="2088" />
        </advancedProperties>
      </dataCache>
    </configuration>
    
    Important重要提示
    请不要修改此代码段中的任何其他设置,例如 dataCachesize 属性。dataCachesize 属性不会指定用于缓存群集的 VM 角色的大小,必须设置为 Small

    此 CacheCluster.xml 文件将与你的应用程序一起部署,并包含所需的配置。

若要使用“专用角色 - 计划者”工作表,请在“输入”部分输入符合你的缓存需求的值。使用建议的方案作为配置缓存群集的起点。若要配置专用角色缓存,请向项目中添加“缓存辅助角色”并配置缓存群集属性。有关配置专用角色缓存群集的示例,请参阅操作方法:为 Azure 角色中缓存配置缓存群集

Co-located Role – Planner 工作表是 Capacity Planning Guide spreadsheet(容量规划指南电子表格)中的第二个工作表,可用来帮助确定 Co-located Role 缓存群集的设置。共存角色缓存群集是一个其中的角色实例的资源(内存、CPU 和带宽)在缓存和应用程序之间共享的缓存群集。

并置缓存容量计划程序

若要使用 Co-Located Role – Planner 工作表,请在“输入:群集配置”部分中输入你的角色的配置。在“VM 大小”中,输入托管你的角色的 VM 大小,并在“VM 实例数”中输入角色实例数。将所需的缓存大小输入到“要在缓存中存储的用户数据”中,并为“是否启用高可用性”指定所需的设置。如果要启用高可用性,请输入 Yes,如果不启用,则输入 No。在此示例中,VM 大小为中等并包含 3 个角色实例,所需的缓存大小为 1,500 MB,未启用高可用性。

配置了输入后,该工具将提供在现有角色实例上托管所需缓存群集的可行性建议,并提供用于角色属性“Caching”选项卡上的“缓存大小”滑块的设置建议。这些建议位于“输出:可行性和设置”部分。在本示例中,“缓存大小(%)”设置将设置为 30%,其余由操作系统和其他处理使用。如果所需的缓存大小对于当前的角色配置来说不可行,你可以通过更改 VM 大小、角色实例计数和缓存大小来为其他配置建模,直至找到满足你的应用程序需求的配置。

Caching 角色属性

若要使用“共存角色 - 计划者”工作表,请在“输入:群集配置”部分中输入满足你的缓存需求的值。使用输出部分的建议作为确定你的缓存群集配置的起点。

note备注
共存缓存可以承受的负载是在考虑主要应用程序的带宽和 CPU 消耗后,确定可用于缓存的带宽/CPU 量的一种函数。测试应该验证缓存和主要应用程序的性能。

确定了缓存群集配置后,便可以在角色的属性页中配置缓存群集。有关配置共存角色缓存群集的示例,请参阅操作方法:为 Azure 角色中缓存配置缓存群集

本文是否对您有所帮助?
(1500 个剩余字符)
感谢您的反馈
Microsoft 正在进行一项网上调查,以了解您对 MSDN 网站的意见。 如果您选择参加,我们将会在您离开 MSDN 网站时向您显示该网上调查。

是否要参加?
显示:
© 2015 Microsoft