Meilleures pratiques pour améliorer les performances des applications dans ASP.Net

De nombreux facteurs influencent les performances des applications Web. L'essence de l'amélioration des performances des applications est de garantir que vous créez des applications qui consommeraient le moins de mémoire et nécessiteraient le moins de traitement pour produire la sortie souhaitée.

Pour y parvenir, vous devez respecter les directives et techniques recommandées qui sont essentielles pour améliorer, optimiser et booster les performances de votre application Web. Dans cet article, je discuterai des recommandations les plus importantes à suivre pour améliorer les performances et la réactivité des applications Web créées à l'aide d'ASP.Net.

Réduction du temps de chargement des pages

Pour réduire le temps de chargement des pages de vos pages Web, vous devez minimiser les scripts et les fichiers CSS et éviter les images trop volumineuses, les balises redondantes et les tableaux imbriqués. Évitez d'utiliser des contrôles serveur (sauf s'il existe une raison spécifique de les utiliser) pour réduire la taille de vos pages Web.

Vous devez également éviter les allers-retours inutiles vers le serveur Web pour accélérer le chargement des pages. Vous pouvez tirer parti de la propriété Page.IsPostback pour éviter le traitement inutile du serveur lors d'un aller-retour, réduisant ainsi le trafic réseau. Une autre technique que vous pouvez suivre est la pré-compilation - vous pouvez précompiler les pages Web dans votre application pour réduire la taille du jeu de travail. Vous pouvez également définir l'attribut AutoEventWireup sur "false" dans le fichier machine.config afin que le moteur d'exécution n'ait pas à rechercher chacun des gestionnaires d'événements dans une page Web.

  

    

      

    

  

Lorsque vous définissez cette propriété sur false, les événements de page ne sont pas automatiquement câblés, éliminant ainsi la possibilité que le même événement soit appelé deux fois lorsque la page est en cours d'exécution.

Vous devez regrouper autant que possible les scripts et css utilisés par votre application. Tirez parti des appels asynchrones de la page Web vers les méthodes côté serveur chaque fois que possible - cela aidera votre page Web à être réactive.

Gestion de l'état

Vous devez éviter d'utiliser ViewState pour accélérer les chargements de page. N'oubliez pas que chaque octet ajouté à une page Web en activant son ViewState entraînerait deux octets de trafic réseau - un octet dans chaque direction, c'est-à-dire du serveur au client et l'autre du client au serveur. En outre, vous devez supprimer la balise de formulaire runat = "server" de votre page Web si vous n'avez pas besoin d'utiliser ViewState. Cela vous permettrait d'économiser environ 20 octets de la taille de la page.

La mise en cache est une autre technique de gestion d'état disponible pour vous - utilisez-la judicieusement pour stocker des données relativement obsolètes en mémoire. Vous pouvez mettre en cache les pages Web ou une partie de vos pages Web si nécessaire. La mise en cache des données peut être utilisée pour améliorer les performances de l'application car la lecture des données à partir de la mémoire cache est relativement plus rapide que la lecture des mêmes données à partir d'un fichier ou d'une base de données.

Vous devez optimiser votre code pour vous assurer que vous utilisez les ressources (mémoire et processeur, etc.) de manière judicieuse - j'écrirai un article séparé à ce sujet.

La gestion des ressources

Si elles sont suivies, de bonnes techniques de gestion des ressources peuvent améliorer considérablement les performances de votre application. Vous devez acquérir les ressources (descripteurs de fichiers, connexions à la base de données, etc.) tardivement et les éliminer tôt. Vous devez écrire votre code de manière à ce que les objets ne soient pas promus aux générations supérieures - rappelez-vous que le ramasse-miettes fonctionne beaucoup plus fréquemment dans les générations inférieures que dans les générations supérieures. Vous devez utiliser Dispose et Finalize de manière appropriée pour nettoyer les ressources non gérées que vous utilisez dans votre application. Il est recommandé d'encapsuler le code gourmand en ressources de votre application dans un bloc using. Cela garantirait que les ressources sont éliminées correctement lorsqu'elles ne sont plus nécessaires. Notez que l'instruction "using" lors de la compilation dégénère en un "try - finally"combinaison et ne peut être utilisé que pour les objets qui implémentent l'interface IDisposable.

Vous devez également tirer parti des stratégies d'accès aux données recommandées et vous assurer que votre application ne conserve pas les connexions à la base de données pendant longtemps pour faciliter un meilleur regroupement de connexions. Vous devez écrire votre code de manière à utiliser un nombre minimal de connexions à la base de données. Si votre application conserve les connexions à la base de données, il est possible que le pool de connexions à la base de données soit à court de connexions disponibles, dégradant ainsi les performances si la demande de connexions dépasse une certaine limite. Vous pouvez tirer parti des procédures stockées dans la plupart des cas pour réduire la surcharge de traitement dans votre serveur de base de données pour les requêtes fréquemment utilisées - cela contribuera à améliorer considérablement les performances d'accès aux données.