ASP.NET Web Cache migliora le prestazioni e la scalabilità

Di Iqbal Khan

Le applicazioni basate su ASP.NET, il framework di applicazioni Web di Microsoft, si stanno diffondendo sempre più nell'azienda. Allo stesso tempo, i colli di bottiglia derivanti dal numero crescente di utenti e transazioni continuano a indurre i professionisti IT a richiedere prestazioni e scalabilità migliori.

Il problema: colli di bottiglia ASP.NET

I colli di bottiglia possono verificarsi nelle applicazioni ASP.NET per diversi motivi. Il più ovvious: La tecnologia di archiviazione dei dati non è scalabile come l'architettura delle applicazioni Web. Qualsiasi punto in un'applicazione ASP.NET che si occupa dell'archiviazione dei dati o dell'accesso ai dati diventa immediatamente un inceppamento quando si tenta di ridimensionare l'applicazione. Due aree in cui ciò accade sono l'archiviazione dello stato della sessione e i dati dell'applicazione da un database relazionale o mainframe.

Un altro collo di bottiglia si verifica se l'applicazione ASP.NET effettua chiamate SOA (Service-Oriented Architecture) ai servizi Web. In questo caso, il rallentamento si verifica perché i servizi Web presentano gli stessi problemi dell'applicazione ASP.NET (vale a dire, nell'archiviazione e nell'accesso dei dati). È probabile che una farm di servizi Web venga condivisa tra più applicazioni e, pertanto, venga sollecitata molto più di qualsiasi applicazione ASP.NET, creando il collo di bottiglia della scalabilità.

Leggi l'articolo completo

Possono verificarsi colli di bottiglia anche tra il browser dell'utente e la Web farm ASP.NET. Questi intasamenti sono legati al fatto che le pagine ASP.NET devono essere eseguite ripetutamente alla volta comportando un'elaborazione intensiva della CPU. Questo processo comporta anche l'invio ripetuto di dati pesanti (immagini, documenti, ecc.) all'utente.

In un precedente articolo di TechNet Magazine ho discusso i problemi relativi alle prestazioni e alla scalabilità di ASP.NET, concentrandomi sullo stato della sessione e sui dati dell'applicazione (vedere "Fornire scalabilità per applicazioni ASP.NET", giugno 2009). In tale articolo è stato illustrato il modo in cui si verificano questi problemi, inclusi i motivi per cui lo stato della sessione ASP.NET diventa un ostacolo man mano che una Web farm cresce. È stato discusso il fatto che la cache in memoria distribuita rappresenta un'alternativa superiore all'opzione di archiviazione esistente di Microsoft per ASP.NET Session State. Ho descritto come i dati dell'applicazione provenienti da un database possono causare colli di bottiglia in termini di scalabilità. È stato inoltre illustrato in dettaglio il modo in cui la memorizzazione nella cache distribuita risolve i colli di bottiglia dell'archiviazione dello stato della sessione ASP.NET con l'aiuto di diverse topologie di memorizzazione nella cache, ciascuna delle quali offre funzionalità diverse, ma tutte affrontano la scalabilità e garantiscono un tempo di attività del 100%.

Leggi l'articolo completo
© Copyright Alachisoft 2002 - . Tutti i diritti riservati. NCache è un marchio registrato di Diyatech Corp.