Sommaire

Cible

Pour cette approche "appliquée", nous allons nous concentrer sur les traitements unitaires lents, c’est-à-dire les portions de code C# posant des problèmes de performance sur un appel, sans tenir compte de causes exogènes. Dans ce premier chapitre, nous portons notre étude sur le client. En effet, notre application de démonstration étant de type client-serveur, avec un client écrit en WinForms et un serveur métier sous forme de services web ASP.NET, il convient de mener une analyse des comportements lents sur les deux modules. Logiquement, nous commençons par le client, car une analyse des lenteurs sur ce dernier va nous permettre de voir ce dont son code propre est responsable, et quelle part vient des appels au serveur. Une fois ceux-ci détectés, nous pourrons mener une analyse plus détaillée sur le serveur. Cette analyse sera le sujet du chapitre suivant.

Pour pousser ce raisonnement au bout, nous pourrions traiter dans une étape suivante les requêtes SQL lentes, mais ce livre se consacre uniquement aux performances du code .NET, même si quelques remarques seront faites sur le lien à la base de données par ADO.NET et les optimisations qui peuvent être réalisées lors des accès à la persistance, en particulier grâce à des architectures innovantes comme les bases en mémoire, CQRS ou la prévalence.