2012-10-15 13 views
5

La Cache AppFabric nella nostra produzione si blocca quasi ogni giorno ed è altamente instabile. Gli errori di seguito vengono registrati:Errori Cache AppFabric

Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode: stato secondario: C'è un guasto temporaneo. Si prega di riprovare più tardi. (secondari sufficienti non presenti o sono in stato strozzato.)

Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode: stato secondario: C'è un guasto temporaneo. Si prega di riprovare più tardi. . (. La richiesta non ha trovato il primario)

servizio AppFabric Caching è schiantato {Lease con magazzino esterno scaduto: Microsoft.Fabric.Federation.ExternalRingStateStoreException: Lease già scaduto alla Microsoft.Fabric.Data.ExternalStoreAuthority. UpdateNode (NodeInfo NodeInfo, TimeSpan timeout) a Microsoft.Fabric.Federation.SiteNode.PerformExternalRingStateStoreOperations (booleano & canFormRing, booleano isInsert, booleano isJoining)}

Potrebbe Someo per favore forniscimi alcuni input? Questo è un ambiente cache abilitato per HA con 3 host cache. Tutti sono in esecuzione su Windows Server 2008 Enterprise Edition e SQL Server viene utilizzato per la configurazione.

risposta

3

Esistono diversi sintomi di indisponibilità del server. In primo luogo, le applicazioni potrebbero ricevere un'eccezione DataCacheException con un codice di errore di RetryLater ed uno stato secondario errore CacheServerUnavailable:

  • Il cluster cache non può accedere al negozio di configurazione della cache (SQL Server, XML o Personalizzato)
  • L'applicazione punta a uno o più host cache non corretti, non disponibili o inattivi.
  • Il cluster di cache è inattivo.
  • L'applicazione viene eseguita come utente a cui non è stato concesso l'accesso al cluster di cache.

Date un'occhiata a http://msdn.microsoft.com/en-us/library/ff921010.aspx al fine di vedere i vari strumenti e comandi disponibili per il monitoraggio della salute di una cache di cluster di AppFabric

3

Recentemente abbiamo incontrato questo problema, e sembra che sia stato a causa di un difettoso Fornitore di read-through. Il provider Read-Through non gestiva correttamente (chiudendo/eliminando) le connessioni del database pool di sql server.

Durante i periodi di utilizzo intenso, abbiamo osservato l'errore "Lease with external store expired" poiché sembra che il servizio cache fosse effettivamente affamato per una connessione disponibile all'archivio di configurazione.

I contatori delle prestazioni per .NET Data Provider per SqlServer sono stati utili per identificare questo problema.