AppFabric Caching, SQL Server e cache in throttling

Se avete AppFabric Caching su un server dove c'è anche SQL Server, occhio che c'è un caso particolare da tenere presente, che inficia le performance e blocca, di fatto, l'efficacia di AppFabric Caching.

Come già probabilmente saprete, di default SQL Server prende tutta la RAM che trova. Questo vuol dire che, non importa quanta ne avete, prima o poi arriverà a lasciarne pochissima disponibile. A quel punto, AppFabric inizierà ad andare in throttling, dandovi eccezioni di tipo DataCacheException, quando provate ad inserire elementi all'interno della cache. Se fate il purge della cache, poi, smetterà del tutto di inserire elementi all'interno, perché è già andato in questo stato. Quelli che sono all'interno continuano ad essere serviti, ma, di fatto, il MissCount aumenterà.

Il sistema più rapido per capire se il servizio è in throttling è quello di lanciare il comando Get-CacheClusterHealth da PowerShell.

Su un sistema dove tutto va bene (la mia macchina di test) avrete un risultato come questo:

image

Ovviamente se qualcosa non dovesse andare, noterete nella schermata i nodi del cluster in throttling. Se è una configurazione single-server, troverete 100,00 (è la percentuale).

Il sistema più rapido in questi casi è quello di limitare la RAM occupata da SQL Server, perché AppFabric Caching va in throttling se la RAM disponibile è minore del 5%.

Se notate che qualcosa non va in fase di inserimento, molto probabilmente la causa è questa ed il consiglio è quello di dare un'occhiata ai logs per vedere se ci sono errori e, attraverso PowerShell, verificare che non ci siano problemi, aiutandovi con i comandi specifici (Get-CacheClusterHealth e Get-CacheStatistics).

Commenti
AppFabric Caching, SQL Server e cache in throttling

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese
TAG CLOUD
.NET Framework, .NET Framework 2.0, .NET Framework 3.0, .NET Framework 3.5, .NET Framework 4.0, .NET Micro Framework, 10annidi, ADO.NET, AJAX, Architettura, ASP, ASP.NET, ASP.NET 2.0, ASP.NET 2.0 per tutti, ASP.NET 3.5, ASP.NET 3.5 per tutti, ASP.NET 4.0, ASP.NET 4.0 Guida completa, ASP.NET AJAX, ASP.NET Charting, ASP.NET MVC, ASPItalia.com, C# 4 Guida completa, Cache, Community Days 2010, Community Days 2012, CSS, Custom Control, Database, Databinding, Datagrid, Deployment, Dynamic Data Control, Entity Framework, Expression Blend, HTML 5 Espresso, HTML5, HttpHandler, HttpModule, HttpRuntime, IIS, ISAPI, Javascript, jQuery, LINQ, LINQ to Entities, LINQ to SQL, LogParser, Master Pages, Media Center, Membership API, Metro, Microsoft Expression, MIX11, Model Virtual Casting, Mono, MySQL, Object Oriented Programming, Off Topic, Office, ORM, Parallel FX, Pattern, PDC 2008, Profile API, Provider Model, Real Code Day 6, Report, Roles API, Security, SEO, Silverlight, Silverlight 2.0, Silverlight 3.0, Silverlight 3.0 Guida Completa, Silverlight 4.0, SQL Server, User Control, Visual Basic 2010 Guida completa, Visual Studio, WCF Data Services, WCF RIA Services, Web Service, web.config, Windows 7, Windows 8, Windows Azure, Windows Client, Windows Communication Foundation, Windows Identity Foundation, Windows Live Services, Windows Phone, Windows Phone - il libro, Windows Phone 7, Windows Phone 7.1, Windows Presentation Foundation, Windows Server, Windows Vista, WinRT, XAML, XBox 360, XHTML, XML, XNA, XSLT
BLOG INFO
  • 1.021 post, 438 commenti, 196 trackback
  • Feed blog: RSS Atom
In evidenza