Meilleures pratiques en matière de performances ASP.NET
Auteur:Eve Cole
Date de mise à jour:2009-06-30 16:04:02
Organisez des recommandations de pratiques de conception logique/physique basées sur la diffusion Web MSDN : utilisez des pages de modèle logique à trois niveaux (.aspx) et des contrôles utilisateur (.ascs)
Les types réutilisables (composants) sont placés dans le répertoire bin. Les données sont placées dans une base de données SQL. Recommandé : Conception pour Web Farm. Ne présumez pas que les visiteurs reviendront toujours au même serveur.
Recommandations sur l'état de la session de la ferme Web : l'utilisation du même processus doit éviter (si possible) :
Appels synchrones vers des services Web XML à l'aide de services Web XML via des appels à distance via DCOM :
La communication entre les applications sur Internet ne doit pas être utilisée pour la communication intra-application. Recommandation : utilisez ISA Server lorsqu'une zone de sécurité DMZ est requise :
Autoriser l'accès uniquement via ISA
Tunnel ISA via DMZ vers ASP.NET
Réduisez les recommandations de langage/code de changement de processus pour éviter d’utiliser une liaison tardive
<%@ Page Language = "VB" Explicit = "true" %> nécessite la déclaration de tous les types de variables et permet toujours une liaison tardive
<%@ Page Language = "VB" strict = "true" %>Interdit l'utilisation de toute liaison tardive
Il est recommandé d'utiliser COM le moins possible pour l'interaction COM, et pour utiliser les données des composants gérés, il est recommandé de stocker les données dans SQL Server et de choisir la méthode d'accès aux données appropriée : OLEDB/client SQL/ODBC.
Choisissez raisonnablement DataSet et DataReader pour la gestion de l'état d'accès aux données et choisissez la manière appropriée de stocker la session : Inproc/StateServer/database
Utilisez des types de données simples pour éviter d'enregistrer les objets COM de STA dans la session. Si la session n'est pas nécessaire, désactivez-la : EnableSessionState = "false".
Si possible, utilisez l'attribut readonly : EnableSessionState = "Readonly"
Si ViewState n'est pas nécessaire, désactivez-le, EnableViewState = false
Réduire les données dans ViewState Afficher la taille de ViewState Afficher le code source de sortie HTML ou activer Trace
Utiliser le cache de page de cache Cache de page partiel
Cacher le cache des données des objets
Méthode de cache WebService pour quantifier les performances WEB : Temps de réponse du débit de la machine Testé en chargeant le serveur Utilisation de plusieurs machines clientes pour charger gratuitement Microsoft Web Application Stress
Testez plusieurs scénarios pour simuler le parcours de bout en bout du site. Testez les performances d'une seule page qui doivent être calculées sous différentes charges (100, 250, 500, 750, 1000, etc. clients visitant en même temps)
Identifie la charge client maximale dans un temps de réponse TTFB/TTLB acceptable Compteurs de performances critiques Processeur, % d'utilisation du processeur Valeurs faibles = exposition ou conflit de verrouillage
ASP.NET, nombre de requêtes mises en file d'attente || Une croissance linéaire signifie que le serveur est entièrement chargé
Application ASP.NET, requêtes par seconde||Débit dynamique (doit être cohérent)
Application ASP.NET, nombre total d'erreurs || Indique les erreurs fonctionnelles (doit être 0)
Application ASP.NET, redémarrage du processus de travail || Indique une erreur fonctionnelle grave