Argomento di studio - NCache per l'alta disponibilità cruciale su Moonpig.com

Telenor Argomento di studio

NCache è estremamente veloce e le prestazioni sono fantastiche. Ci consente di evitare di preoccuparci del lato delle cose della sessione ASP.Net. Per quanto riguarda l'esperienza dell'utente, non c'è alcun ritardo distinguibile nel caricamento delle sessioni da NCache.

Jay Jetley
Architetto di sistemi
Moonpig.com
Logo Moonpig.com
 

Paese o Regione:
Regno Unito, Australia e Stati Uniti

Settore:
Biglietti d'auguri per i consumatori online

Profilo Aziendale:
Moonpig.com, un rivenditore di biglietti di auguri online, è stato fondato nel 1999, durante l'era delle dotcom, quando giovani imprenditori e investitori videro grandi opportunità nella vendita di beni tramite Internet. Mentre molte iniziative dotcom sono svanite, la visione del fondatore e presidente di Moonpig, Nick Jenkins, è sopravvissuta oltre quei primi anni difficili e Moonpig si è affermato come un importante marchio online.

L'azienda è cresciuta costantemente dal 2000, vendendo per la prima volta ai consumatori del Regno Unito. Nel 2004 si è trasferita nel mercato australiano e nel 2006 le vendite totali di carte hanno raggiunto 670,000 all'anno. Aiutata dalle campagne pubblicitarie televisive nel Regno Unito, la crescita di Moonpig è aumentata rapidamente fino a raggiungere i sorprendenti nove milioni di biglietti di auguri nel 2010. Durante quell'anno, ha ampliato le sue operazioni negli Stati Uniti.

Su un totale di 6 milioni di clienti, quasi la metà acquista sul sito almeno una volta all'anno. Le principali vette di Moonpig includono San Valentino, la festa della mamma, la festa del papà e il Natale.

Alachisoft Prodotti:
NCache

Esigenze del cliente soddisfatte:

  • Archiviazione affidabile della sessione
  • Scalabilità
  • Alta disponibilità
  • Facilità di manutenzione

Chi siamo Alachisoft:
Alachisoft, fornisce una società con sede in California NCache e StorageEdge. NCache è una cache di dati distribuita in memoria che consente di memorizzare nella cache i dati dell'applicazione e lo stato della sessione ASP.NET per aumentare le prestazioni e la scalabilità dell'applicazione. StorageEdge velocizza SharePoint esternalizzando i BLOB e memorizzando nella cache i dati BLOB ed elenchi.

Puoi scaricare una versione di prova gratuita di 30 giorni completamente funzionante di NCache da qui.

Alachisoft
Sede aziendale
12005 Ford Road, Suite 520
Dallas, TX 75234

US: +1 (214) 764-6933
UK: + 44 207 993-8327

sales@alachisoft.com
support@alachisoft.com

NCache consente a moonpig.com di mantenere un'elevata disponibilità molto importante per il proprio sito Web ad alto traffico archiviando le sessioni ASP.NET in una memoria cache affidabile e replicata.

Scarica PDF
Jay Jetley

"Inizialmente abbiamo iniziato con un singolo server che utilizzava la memorizzazione nella cache di InProc. Ma presto ci siamo resi conto che dovevamo passare a più di un server. Inizialmente abbiamo provato ciò che era integrato con .NET, ovvero InProc e SQLserver, e abbiamo scoperto che non funzionava. non funziona.

Jay Jetley
Architetto di sistemi
Moonpig.com

La sfida

Nel 2006, è diventato chiaro che il sito Web di Moonpig nel Regno Unito era in una fase di rapida crescita, con un numero di visitatori e ordini che caricavano considerevolmente il sito Web, che era basato sull'ASP di Microsoft.NET framework. Verso la fine del 2006, i siti Moonpig ricevevano mezzo milione di visite al mese. Entro la metà del 2010, quei numeri sono cresciuti fino a 2.5 milioni di visite al mese.

Molto rapidamente Moonpig si è reso conto che le opzioni di archiviazione ASP.NET Session State InProc e SqlServer non erano efficaci per mantenere un'elevata disponibilità in vista di questa crescita.

Jay Jetley, Systems Architect, ha dichiarato: "Inizialmente abbiamo iniziato con un singolo server utilizzando la memorizzazione nella cache di InProc. Ma presto ci siamo resi conto che dovevamo scalare su più di un server. Inizialmente abbiamo provato ciò che era integrato con .NET, il che significa InProc e SQLserver -- e abbiamo scoperto che quelli non funzionavano. Abbiamo letteralmente provato SQLserver per mezz'ora. È diventato abbastanza ovvio che non avrebbe funzionato e siamo semplicemente tornati su un server. L'abbiamo fatto prima che fosse effettivamente necessario scalabile su due server. Tuttavia, stavamo arrivando al punto in cui dovevamo essere in grado di utilizzare più server, non solo per il carico nei periodi di punta".

In questo caso, l'archiviazione dello stato della sessione ASP.NET non è stata in grado di scalare in base a InProc e SQLserver per diversi motivi. InProc ha dei limiti. È stato progettato per l'uso in un unico server, ambiente a processo singolo e non funziona in un ambiente ASP.NET multi-server o multi-processo. Di conseguenza, le sessioni vengono perse. Un altro problema di InProc è la sua limitazione di memoria. Poiché il numero di sessioni aumenta nel processo ASP.NET, ogni sessione richiede memoria. La dimensione della memoria di questo processo di lavoro aumenta in modo significativo e in una piattaforma a 32 bit esiste un limite di memoria di 1 GB sulla dimensione che può diventare un processo di lavoro.

SqlServer è un po' meglio, ma non molto, dal momento che non è un archivio dati in memoria, piuttosto un archivio dati basato su disco. Tutti i database vengono mantenuti su disco perché crescono così tanto che la memoria non è sufficiente per contenere l'intero database. Pertanto, un database archivia i propri dati su un disco o su una memoria persistente. A causa dell'archiviazione su disco, le prestazioni di SqlServer non sono così veloci, con conseguente calo delle prestazioni.

Inoltre, SqlServer non si ridimensiona in modo lineare impedendo a un'azienda come Moonpig di far crescere senza problemi una Web farm. Inoltre, come meccanismo di archiviazione, diventa un collo di bottiglia sia per le sessioni che per i dati dell'applicazione. Di conseguenza, un server di database non si adatta alle sessioni e ai dati delle applicazioni.

 

I NCache Soluzione

Era in corso la ricerca di una soluzione a questo difficile problema dell'archivio sessioni. Scoperto il team tecnico di Moonpig NCache durante la lettura di una rispettata rivista per sviluppatori Microsoft .NET pubblicata negli Stati Uniti e in un breve periodo, Moonpig si è installato NCache per risolvere il problema dell'archivio sessioni.

Jetley riferisce, "NCache è estremamente veloce e le prestazioni sono fantastiche. Ti consente di evitare di preoccuparti del lato della sessione delle cose. Per quanto riguarda l'esperienza dell'utente, non c'è alcun ritardo distinguibile nel caricamento delle sessioni da Ncache."

” Non solo viene alleviato il problema dell'archivio sessioni, ma NCache fornisce anche a Moonpig altri importanti vantaggi. "NCache ci consente di mantenere un'elevata disponibilità cruciale, gestendo con precisione l'archiviazione delle sessioni ed effettuando efficacemente gli aggiornamenti online", osserva Jetley.

"Questa caratteristica chiave si traduce in un paio di vantaggi", ha affermato. "In primo luogo, significa che possiamo semplicemente utilizzare un algoritmo di bilanciamento del carico di rete standard facendo un round robin. Pertanto, non dobbiamo preoccuparci di quale server un utente crea un successivo richiesta a. Alla fine, tutti hanno accesso alla stessa sessione. Questo è un enorme vantaggio".

"In secondo luogo, NCache ci consente di portare i server dentro e fuori dal sistema di bilanciamento del carico a piacimento. Possiamo rimuovere i server, applicare Windows e altre patch, eseguire installazioni, aggiornare il codice, assicurarci che tutto funzioni offline. Quindi, quando riportiamo quei server nel sistema di bilanciamento del carico, sappiamo che se qualcuno colpisce il nostro server, quella sessione sarà semplicemente lì. È qualcosa che non puoi fare con InProc o SQLserver."

"Per quanto riguarda la scalabilità, c'è un netto vantaggio. Se iniziamo a rallentare le sessioni, possiamo semplicemente aggiungere altro NCache server. Ora abbiamo sei server Web, che indicano due NCache server. Quei due NCache i server stanno affrontando bene. Ma quando sperimentiamo un aumento del traffico e quei due NCache i server non funzionano più bene, possiamo semplicemente aggiungerne un altro Ncache server e sappiamo subito che abbiamo una vera scalabilità."

 

Piani a breve termine

Moonpig.com è chiaramente in movimento con il numero di visitatori e le entrate che continuano a crescere. Tuttavia, la direzione di Moonpig tiene d'occhio il suo sito Web e il crescente traffico di clienti che sperimenta 24 ore su 7, XNUMX giorni su XNUMX. Mentre l'azienda ha fatto affidamento Ncache per l'archivio sessioni, ora sta cercando di utilizzarne di più NCachecapacità di memorizzazione nella cache di s per semplificare i processi di ordinamento delle carte.

 

Cosa fare dopo?

© Copyright Alachisoft 2002 - . Tutti i diritti riservati. NCache è un marchio registrato di Diyatech Corp.