管理缓存群集运行状况(Windows Server AppFabric 缓存)

了解贡献于运行正常的 Windows Server AppFabric 缓存群集的因素很重要。 本部分介绍常规概念以及有关管理缓存群集运行状况的指南。 有关用于监控缓存群集运行状况的工具的详细信息,请参阅运行状况监控工具(Windows Server AppFabric 缓存)

常规缓存群集运行状况因素

有几个主要区域可确定缓存群集的运行状况:

  • 物理资源

  • 特定于缓存的配置设置

  • 环境设置和更改

物理资源

要成功管理缓存群集运行状况,您必须监控和管理每个缓存主机上的基本物理资源。 以下列表简要介绍了一些最重要的物理资源:

  • 内存 -- 它对于了解使用缓存群集的应用程序的内存要求非常重要。 这包括很多信息,如缓存项目的平均速率、其平均大小、平均过期是以及影响内存要求的其他因素。 尽管可以通过平均来完成某些计划,但必须在测试环境中完成其他计划。 请注意,可以使用 Get-CacheHostConfig Windows PowerShell 命令检查为每个缓存主机保留的内存数量。 当向缓存群集中添加缓存主机时默认情况下设置该大小,但您可以使用 Set-CacheHostConfig 命令更改为缓存保留的内存。 请注意,本文档将不提供容量计划主题的全面介绍。

    Important要点
    如果您的内存要求超出了缓存主机的容量,则您可能会遇到性能问题或者称为限制的情况。 如果缓存主机上发生内存不足情况,则会发生限制情况。 在这种情况下,缓存群集将不允许向缓存主机写入新信息,并且应用程序可能会收到错误。 禁用逐出的缓存更可能会发生这种情况,但它也可能由于其他进程的外部内存压力发生。 有关如何识别和解决限制问题的详细信息,请参阅限制疑难解答(Windows Server AppFabric 缓存)

  • CPU -- 高处理器利用率可能会对任何应用程序的性能产生不利影响。 这包括每个缓存主机上的缓存服务 DistributedCacheService.exe。 使用性能监视器或任务管理器来基于进程名称检查 CPU 利用率。 如果除 DistributedCacheService.exe 之外的某个进程大部分时间都在使用 CPU,则评估该进程是否应该在与缓存服务相同的服务器上运行。

  • 网络带宽 -- 作为分布式缓存服务,网络运行状况和带宽都非常重要。 使用性能监视器或其他网络监视工具来确定是否存在可能对缓存群集产生不利影响的任何问题。

特定于缓存的配置设置

缓存群集的运行状况也会受到每个缓存主机、每个缓存以及使用该缓存的每个应用程序的特性影响。 以下列表阐述了这些配置详细信息中的一些信息以及它们如何与缓存群集的运行状况相关。

  • 逐出 -- 缓存可以启用或禁用逐出。 当缓存主机内存超过一定阈值时发生逐出。 使用 Get-CacheConfig Windows PowerShell 命令检查 EvictionType。 如果 EvictionTypeNone,则逐出被禁用。 对于禁用逐出的缓存,必须更加小心,确保每个缓存主机上有足够的缓存主机和足够的物理内存以满足您的需求。 有关详细信息,请参阅过期和逐出。 有关解决诊断和解决逐出问题的信息,请参阅逐出疑难解答(Windows Server AppFabric 缓存

  • 过期 -- 过期设置也会影响内存增加。 缓存配置设置指定默认的 TimeToLive 值。 这是对象在过期之前驻留在缓存中的时间。 缓存也可以通过将 Expirable 设置为 false 禁用过期。 可以通过 Get-CacheConfig Windows PowerShell 命令查看这些设置。 应用程序还可以为放在缓存中的对象指定自定义的 TimeToLive 值。 较长的过期时间可能会导致较高的缓存主机内存使用率。 但是,当缓存主机上的内存使用率达到 HighWatermark 设置时,仍然会逐出这些对象,除非缓存的 EvictionType 设置为 None。 可以通过 Get-CacheHostConfig Windows PowerShell 命令查看 HighWatermark 设置。 有关过期的详细信息,请参阅过期和逐出。 有关诊断和解决过期问题的信息,请参阅过期疑难解答(Windows Server AppFabric 缓存)

  • 自定义区域 -- 应用程序可以创建自定义区域。 一个缓存主机上始终存在一个区域。 如果该区域的内存要求超出了任何一个缓存主机上的物理内存,则这可能会成为一个问题。 使用 Get-Cache Windows PowerShell 命令查看每个缓存主机上的区域。 如果这成为一个问题,则重新设计应用程序以使用较小的区域或向群集中的每个缓存主机添加物理内存。

  • 高可用性 -- 高可用性缓存选项也会影响内存要求。 如果某个缓存启用高可用性,则所有缓存项目的第二个副本都位于另一个缓存主机上。 这样会使目标缓存群集上该缓存的内存要求加倍。 也会增加网络和 CPU 负载,因为需要将项目复制到辅助缓存主机。 可以通过 Get-CacheConfig Windows PowerShell 命令查看高可用性选项。 如果 Secondaries 设置为 1,则高可用性被禁用。 有关高可用性的详细信息,请参阅高可用性

  • 主要主机 -- 如果对缓存群集配置存储使用 XML 提供程序,则您必须了解主要主机在您的缓存群集中的重要性。 如果大多数主要主机关闭,缓存群集将变为不可用。 要确定缓存主机是否是主要主机,请使用 Get-CacheHostConfig or Export-CacheClusterConfig Windows PowerShell 命令。 要使缓存主机成为主要主机,请使用 Import-CacheClusterConfig 命令。 有关主要主机的信息,请参阅主要主机。 请注意,除非手动更改,否则主要主机的数量由缓存群集的大小决定。

    缓存群集大小 主要主机的数量

    1

    3

    5

环境设置和更改

环境设置和操作任务也会影响缓存群集。 以下列表提供一些因素。

  • 防火墙 -- 要使缓存主机与缓存群集通信,您必须正确配置防火墙。 AppFabric 安装自定义组“Windows Server AppFabric:AppFabric 缓存服务”中的一个名为“AppFabric 缓存服务 (TCP-in)”的 自定义 Windows 防火墙规则。 如果使用 Windows 防火墙,您应该启用该规则。 还应该启用“远程服务管理”防火墙规则。 请注意 AppFabric 配置向导为您提供执行此操作的选项。 如果使用其他防火墙,则您必须在该防火墙应用程序中创建或启用自定义规则。 有关详细信息,请参阅 AppFabric 缓存问题疑难解答中的防火墙部分。

  • 操作系统和软件更新 -- 有时您必须对操作系统或缓存主机上的软件应用更新以便保持服务器正常运行或安全。 您可以决定首先通过 Stop-CacheCluster 命令停止缓存群集来同时更新所有服务器。 或者可以在使缓存群集中的其他缓存主机运行的同时一次更新一个或多个缓存主机。 使用该方法时有几个注意事项。 有关详细信息,请参阅更新缓存服务器(Windows Server AppFabric 缓存)

  • IP 地址更改 -- 对缓存主机 IP 地址的任何更改都可能会导致缓存群集中的缓存主机之间出现通信问题。

另请参阅

概念

Windows Server AppFabric 缓存部署和管理指南

  2011-12-05