Étude de cas - NCache pour une haute disponibilité cruciale sur Moonpig.com

Telenor Étude de cas

NCache est extrêmement rapide et les performances sont fantastiques. Cela nous permet d'éviter de nous soucier du côté session ASP.Net. En ce qui concerne l'expérience utilisateur, il n'y a pas de retard perceptible dans le chargement des sessions à partir de NCache.

Jay Jetley
Architecte de systèmes
Moonpig.com
Logo Moonpig.com
 

Pays ou région:
Royaume-Uni, Australie et États-Unis

Industrie:
Cartes de vœux grand public en ligne

Profil de l'entreprise:
Moonpig.com, un détaillant de cartes de vœux en ligne, a été fondé en 1999, à l'époque des dotcom, lorsque de jeunes entrepreneurs et investisseurs ont vu de grandes opportunités de vendre des biens via Internet. Alors que de nombreuses entreprises de dotcom ont échoué, la vision du fondateur et président de Moonpig, Nick Jenkins, a perduré au-delà de ces premières années difficiles et Moonpig s'est imposé comme une marque en ligne majeure.

La société a connu une croissance constante à partir de 2000, vendant d'abord aux consommateurs britanniques. En 2004, il s'est installé sur le marché australien et, en 2006, les ventes totales de cartes ont atteint 670,000 2010 pour l'année. Aidée par des campagnes publicitaires télévisées au Royaume-Uni, la croissance de Moonpig a augmenté rapidement pour atteindre neuf millions de cartes de vœux en XNUMX. Au cours de cette année, elle a étendu ses opérations aux États-Unis.

Sur un total de 6 millions de clients, près de la moitié achètent sur le site au moins une fois par an. Les principaux sommets de Moonpig incluent la Saint-Valentin, la fête des mères, la fête des pères et Noël.

Alachisoft Produit:
NCache

Besoins du client satisfaits :

  • Stockage de session fiable
  • Évolutivité
  • Haute Disponibilité
  • Facilité de maintenance

Qui sommes-nous Alachisoft:
Alachisoft, une société basée en Californie fournit NCache et StorageEdge. NCache est un cache de données distribué en mémoire qui vous permet de mettre en cache les données d'application et l'état de session ASP.NET pour améliorer les performances et l'évolutivité de votre application. StorageEdge accélère SharePoint en externalisant les BLOB et en mettant en cache les BLOB et les données de liste.

Vous pouvez télécharger un essai gratuit de 30 jours entièrement fonctionnel de NCache de ici.

Alachisoft
Siège social
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 permet à moonpig.com de maintenir une haute disponibilité cruciale pour son site Web à fort trafic en stockant ses sessions ASP.NET dans un stockage en cache fiable et répliqué.

Télécharger le PDF
Jay Jetley

"À l'origine, nous avons commencé avec un seul serveur utilisant la mise en cache InProc. Mais nous avons rapidement réalisé que nous devions évoluer vers plusieurs serveurs. Au départ, nous avons essayé ce qui était intégré à .NET - c'est-à-dire InProc et SQLserver - et nous avons constaté ça marche pas.

Jay Jetley
Architecte de systèmes
Moonpig.com

Le projet

En 2006, il est devenu évident que le site Web britannique de Moonpig était dans une phase de croissance rapide, le nombre de visiteurs et de commandes imposant une charge considérable sur le site Web, qui était construit sur l'ASP de Microsoft..NET framework. Vers la fin de 2006, les sites Moonpig recevaient un demi-million de visites par mois. À la mi-2010, ces chiffres sont passés à 2.5 millions de visites par mois.

Très rapidement, Moonpig s'est rendu compte que les options de stockage ASP.NET Session State InProc et SqlServer n'étaient pas efficaces pour maintenir une haute disponibilité compte tenu de cette croissance.

Jay Jetley, architecte système, a déclaré : « À l'origine, nous avons commencé avec un seul serveur utilisant la mise en cache InProc. Mais nous avons rapidement réalisé que nous devions évoluer vers plusieurs serveurs. Au départ, nous avons essayé ce qui était intégré à .NET, c'est-à-dire InProc et SQLserver - et nous avons constaté qu'ils ne fonctionnaient pas. Nous avons littéralement essayé SQLserver pendant une demi-heure. Il est devenu assez évident que cela n'allait pas fonctionner et nous sommes simplement revenus sur un serveur. Nous l'avons fait avant d'avoir réellement besoin de évoluer vers deux serveurs. Cependant, nous arrivions au point où nous devions pouvoir utiliser plusieurs serveurs, pas seulement pour la charge pendant les périodes de pointe."

Dans ce cas, le stockage d'état de session ASP.NET n'a pas pu évoluer en fonction d'InProc et de SQLserver pour plusieurs raisons. InProc a des limites. Il a été conçu pour être utilisé dans un environnement à serveur unique et à processus unique et ne fonctionne pas dans un environnement ASP.NET multiserveur ou multiprocessus. En conséquence, des sessions sont perdues. Un autre problème d'InProc est sa limitation de mémoire. À mesure que le nombre de sessions augmente dans le processus ASP.NET, chaque session nécessite de la mémoire. La taille de la mémoire de ce processus de travail augmente considérablement et, sur une plate-forme 32 bits, la taille maximale d'un processus de travail est limitée à 1 Go.

SqlServer est un peu mieux, mais pas beaucoup, car il ne s'agit pas d'un magasin de données en mémoire, mais plutôt d'un magasin de données sur disque. Toutes les bases de données sont conservées sur disque car elles deviennent si volumineuses que la mémoire n'est pas suffisante pour contenir l'intégralité de la base de données. Ainsi, une base de données stocke ses données sur un disque ou un stockage persistant. En raison du stockage sur disque, les performances de SqlServer ne sont pas aussi rapides, ce qui entraîne une baisse des performances.

De plus, SqlServer n'évolue pas de manière linéaire, empêchant une entreprise comme Moonpig de développer en douceur une ferme Web. De plus, en tant que mécanisme de stockage, il devient un goulot d'étranglement pour les sessions et les données d'application. Par conséquent, un serveur de base de données ne s'adapte pas aux données des sessions et des applications.

 

La NCache Solution

La recherche d'une solution à ce problème difficile de magasin de session était en cours. L'équipe technique de Moonpig a découvert NCache lors de la lecture d'un magazine de développeurs Microsoft .NET très respecté publié aux États-Unis et dans un court laps de temps, Moonpig a installé NCache pour résoudre le problème de magasin de session.

Jetley rapporte, "NCache est extrêmement rapide et les performances sont fantastiques. Cela vous permet d'éviter de vous soucier du côté session des choses. En ce qui concerne l'expérience utilisateur, il n'y a pas de retard perceptible dans le chargement des sessions à partir de Ncache."

” Non seulement le problème du magasin de session est atténué, mais NCache fournit également à Moonpig d'autres avantages majeurs. "NCache nous permet de maintenir une haute disponibilité cruciale, tout en gérant avec précision le stockage des sessions et en effectuant efficacement les mises à jour en ligne », note Jetley.

"Cette fonctionnalité clé se traduit par quelques avantages", a-t-il déclaré. "Tout d'abord, cela signifie que nous pouvons simplement utiliser un algorithme d'équilibrage de charge réseau standard en faisant un tour de rôle. Par conséquent, nous n'avons pas besoin de nous soucier du serveur qu'un utilisateur effectue par la suite. demande à. Finalement, ils ont tous accès à la même session. C'est un énorme avantage.

"Deuxièmement, NCache nous permet de faire entrer et sortir des serveurs de l'équilibreur de charge à volonté. Nous pouvons supprimer des serveurs, appliquer Windows et d'autres correctifs, effectuer des installations, effectuer des mises à jour de code, nous assurer que tout fonctionne hors ligne. Ensuite, lorsque nous ramenons ces serveurs dans l'équilibreur de charge, nous savons que si quelqu'un frappe notre serveur, cette session sera simplement là. C'est quelque chose que vous ne pouvez pas faire avec InProc ou SQLserver."

"En ce qui concerne l'évolutivité, il y a un net avantage. Si nous commençons à ralentir les sessions, nous pouvons simplement en ajouter plus NCache les serveurs. Nous avons maintenant six serveurs Web, pointant vers deux NCache les serveurs. Ces deux là NCache les serveurs s'en sortent bien. Mais lorsque nous constatons une augmentation du trafic et que ces deux NCache les serveurs ne s'en sortent plus bien, on peut juste en ajouter un autre Ncache serveur et sachez tout de suite que nous avons une véritable évolutivité."

 

Plans à court terme

Moonpig.com est clairement sur la bonne voie, le nombre de visiteurs et les revenus continuant de croître. Pourtant, la direction de Moonpig surveille attentivement son site Web et l'augmentation du trafic client qu'il subit 24 heures sur 7, XNUMX jours sur XNUMX. Alors que l'entreprise s'est appuyée sur Ncache pour le magasin de session, il cherche maintenant à utiliser plus de NCachepour rationaliser ses processus de commande de cartes.

 

Que faire ensuite?

© Copyright Alachisoft 2002 - . Tous droits réservés. NCache est une marque déposée de Diyatech Corp.