5

我们生产中的 AppFabric Cache 几乎每天都会崩溃,而且非常不稳定。记录以下错误:

Microsoft.ApplicationServer.Caching.DataCacheException:ErrorCode:SubStatus:暂时失败。请稍后重试。(没有足够的辅助节点或它们处于节流状态。)

Microsoft.ApplicationServer.Caching.DataCacheException:ErrorCode:SubStatus:暂时失败。请稍后重试。(该请求未找到主节点。)

AppFabric 缓存服务崩溃。{外部存储的租约已过期:Microsoft.Fabric.Federation.ExternalRingStateStoreException:租约已在 Microsoft.Fabric.Data.ExternalStoreAuthority.UpdateNode(NodeInfo nodeInfo,TimeSpan 超时)在 Microsoft.Fabric.Federation.SiteNode.PerformExternalRingStateStoreOperations 过期(Boolean& canFormRing, Boolean isInsert, Boolean isJoining)}

有人可以给我一些输入吗?这是一个启用了 HA 的缓存环境,具有 3 个缓存主机。它们都运行在 Windows Server 2008 企业版上,并且使用 SQL Server 进行配置。

4

2 回答 2

3

服务器不可用有几种症状。首先,应用程序可能会收到带有 RetryLater 错误代码和CacheServerUnavailable错误子状态的 DataCacheException 异常:

  • 缓存集群无法访问缓存配置存储(SQL Server、Xml 或自定义)
  • 应用程序指向一个或多个不正确、不可用或关闭的缓存主机。
  • 缓存集群已关闭。
  • 应用程序以未获准访问缓存集群的用户身份运行。

查看http://msdn.microsoft.com/en-us/library/ff921010.aspx以了解可用于监控 AppFabric 缓存集群运行状况的各种工具和命令

于 2012-10-16T11:06:27.800 回答
3

我们最近遇到了这个问题,它似乎是由于有缺陷的 Read-Through Provider 造成的。直读提供程序未正确管理(关闭/处置)其 sql 服务器池数据库连接。

在高使用率期间,我们观察到“ Lease with external store expired”错误,因为似乎缓存服务实际上缺乏与配置存储的可用连接。

用于 SqlServer 的 .NET 数据提供程序的性能计数器有助于识别此问题。

于 2013-01-30T15:59:32.083 回答