OLTP en mémoire: révolutionner la gestion de l'état de session ASP.NET
Cet article explore les améliorations significatives des performances réalisables dans la gestion de l'état de session ASP.NET en tirant parti de la technologie OLTP en mémoire de SQL Server. Introduit avec SQL Server 2014, l'OLTP en mémoire offre un boost de vitesse spectaculaire par rapport aux solutions traditionnelles basées sur le disque.
Comprendre les défis de la gestion traditionnelle de l'État de session
Les applicationsASP.NET s'appuient sur l'état de session pour maintenir les données utilisateur sur plusieurs demandes. Bien que le mode InProc (en cours) offre de la vitesse, il ne convient pas aux fermes Web ou aux jardins Web. Les modes OutProc (hors de processus), généralement à l'aide de SQL Server, fournissent une évolutivité mais souffrent de goulots d'étranglement des performances en raison des E / S de disque et de la contention de verrouillage. Ceci est particulièrement problématique sous une charge lourde.
L'avantage OLTP en mémoire
OLTP en mémoire traite de ces limitations en stockant les données directement dans la mémoire du serveur. Cela élimine les E / S disque, réduisant considérablement la latence. Ses algorithmes sans serrure empêchent les affirmations, garantissant des performances élevées cohérentes même avec de nombreuses demandes simultanées. Cette technologie possède une augmentation des performances de 30 à 40 fois par rapport à l'état de session SQL Server traditionnel, comme démontré par des études de cas montrant une amélioration de 16 fois du débit de l'application.
Implémentation de l'OLTP en mémoire pour l'état de session
L'utilisation de l'OLTP en mémoire pour la gestion de l'état de session est simplifiée via le package Microsoft.Web.SessionState.SqlInMemory
NuGet. Ce package automatise plusieurs étapes de clé:
web.config
pour utiliser le SqlInMemoryProvider
. Cela implique la mise à jour de la chaîne de connexion pour pointer vers votre base de données en mémoire. ASPStateInMemory.sql
) pour créer la base de données et les tables nécessaires. N'oubliez pas de personnaliser le script pour refléter le chemin du chemin et le nom de la base de données de votre serveur, et choisissez entre SCHEMA_ONLY
(plus rapide, données perdues sur redémarrage) ou SCHEMA_AND_DATA
(les données persistaient à travers les redémarrages) Options de durabilité. Au-delà des performances: haute disponibilité et évolutivité
L'OLTP en mémoire améliore non seulement les performances mais aussi l'évolutivité et la haute disponibilité. Il s'intègre de manière transparente à SQL Server Alwayson pour la haute disponibilité et la géo-redondance pour la reprise après sinistre, assurant la continuité des activités. Son aptitude aux fermes Web et aux jardins Web le rend idéal pour les applications à grande échelle.
Adommage des sessions expirées
La procédure stockée fournie DeleteExpiredSessions
gère la suppression des sessions expirées, reflétant les fonctionnalités des travaux planifiés dans la gestion de l'état de session SQL Server traditionnel.
Conclusion
SQL Server In-Memory OLTP offre une solution convaincante pour optimiser la gestion de l'état de session ASP.NET. Ses fonctionnalités de performance, d'évolutivité et de haute disponibilité supérieures en font un outil puissant pour créer des applications Web robustes et réactives. Alors que les versions antérieures avaient des limites, celles-ci sont traitées dans des versions plus récentes, solidifiant davantage sa position de technologie de tête dans ce domaine.
Questions fréquemment posées (FAQ)
La section FAQS a été rationalisée pour la concision et la clarté, en se concentrant sur les aspects principaux de l'impact de l'OLTP en mémoire sur la gestion de l'état de session ASP.NET:
Quels sont les principaux avantages de l'utilisation de l'OLTP en mémoire pour l'état de session ASP.NET? Améliorations dramatiques des performances (30-40x plus rapidement), une évolutivité améliorée et une haute disponibilité grâce à l'intégration avec les fonctionnalités SQL Server.
Comment l'OLTP en mémoire se compare-t-il à l'état de session SQL Server traditionnel? De manière nettement plus rapide en raison du stockage en mémoire et des algorithmes sans verrouillage, en éliminant les goulots d'étranglement d'E / S de disque et les affirmations.
Comment implémenter OLTP en mémoire pour l'état de session? Utiliser le package Microsoft.Web.SessionState.SqlInMemory
NuGet pour simplifier la création de la base de données et les modifications de configuration dans web.config
.
Quelles sont les limites de l'OLTP en mémoire? nécessite une mémoire de serveur suffisante; Les versions antérieures avaient des limites à la taille de la table et à la prise en charge des fonctionnalités, mais celles-ci sont traitées dans les versions plus récentes.
L'OLTP en mémoire prend-il en charge la haute disponibilité et l'évolutivité? Oui, il s'intègre à SQL Server Alwayson et Geo-Redundancy pour la haute disponibilité et bien dans les environnements de la ferme et du jardin Web.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!