AppFabric Cache错误

时间:2012-10-15 06:39:29

标签: c# .net appfabric appfabric-cache

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

  

Microsoft.ApplicationServer.Caching.DataCacheException:   ErrorCode:SubStatus:暂时失败。请稍后重试。   (没有足够的辅助人员或他们处于受限状态。)

     

Microsoft.ApplicationServer.Caching.DataCacheException:   ErrorCode:SubStatus:暂时失败。请稍后重试。   (请求没有找到主要的。)

     

AppFabric缓存服务崩溃。{外部商店租约已过期:   Microsoft.Fabric.Federation.ExternalRingStateStoreException:Lease   已经过期了   Microsoft.Fabric.Data.ExternalStoreAuthority.UpdateNode(将nodeinfo   nodeInfo,TimeSpan超时)at   Microsoft.Fabric.Federation.SiteNode.PerformExternalRingStateStoreOperations(布尔&安培;   canFormRing,Boolean isInsert,Boolean isJoining)}

有人可以请我提供一些意见吗? 这是一个启用HA的缓存环境,具有3个缓存主机。所有这些都在Windows Server 2008 Enterprise Edition上运行,SQL Server用于配置。

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:3)

我们最近遇到了这个问题,似乎是由于有缺陷的直读式提供商造成的。 Read-Through Provider没有正确管理(关闭/部署)其sql server池化数据库连接。

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

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