Vue d'ensemble des performances
Les applications Web proposant de nombreuses fonctionnalités ne sont pas très utiles si elles ne peuvent pas les exécuter correctement. Les exigences du Web sont si importantes que le code est censé effectuer davantage d'opérations en moins de temps qu'auparavant. Cette section décrit certains principes essentiels des performances des applications Web, fournit des conseils pour l'écriture de code qui s'exécute correctement et présente des outils de mesure des performances.
ASP.NET intègre une série d'améliorations des performances. Par exemple, les pages ne sont compilées qu'une seule fois et sont mises en cache pour les demandes ultérieures. Comme ces pages compilées sont enregistrées sur le disque, même un redémarrage complet du serveur ne les invalide pas. ASP.NET met également en cache des objets internes, tels que des variables de serveur, afin d'accélérer l'accès au code utilisateur. En outre, ASP.NET bénéficie de toutes les améliorations de performances apportées au Common Language Runtime : compilation juste-à-temps, Common Language Runtime parfaitement adapté aux ordinateurs mono ou multiprocesseurs, etc.
Cependant, toutes ces améliorations ne peuvent pas vous empêcher d'écrire du code qui ne s'exécute pas correctement. En dernier ressort, vous devez veiller à ce que votre application puisse répondre aux exigences de ses utilisateurs. La section suivante décrit certaines manières courantes d'éviter les goulets d'étranglement des performances. Toutefois, vous devez d'abord assimiler les notions suivantes :
- Débit : Nombre de demandes qu'une application Web peut servir par unité de temps, souvent mesuré en demandes/seconde. Le débit peut varier selon la charge (nombre de threads clients) appliquée au serveur. Il est généralement considéré comme la plus importante mesure des performances à optimiser.
- Temps de réponse : Durée entre le lancement d'une demande et le premier octet retourné au client par le serveur. Il s'agit souvent de l'aspect le plus perceptible des performances pour l'utilisateur du client. Si une application tarde à répondre, l'utilisateur risque de s'impatienter et de visiter un autre site. Le temps de réponse d'une application peut être proportionnelle (ou inversement proportionnelle) au débit.
- Temps d'exécution : Durée de traitement d'une demande, généralement mesurée entre le premier et le dernier octet retourné au client par le serveur. Le temps d'exécution affecte directement le calcul du débit.
- Évolutivité : Mesure de la capacité d'une application à mieux s'exécuter lorsque davantage de ressources (mémoire, processeurs ou ordinateurs) lui sont allouées. Souvent, il s'agit d'une mesure du taux de changement du débit par rapport au nombre de processeurs.
L'écriture d'applications qui s'exécutent correctement exige d'atteindre un juste équilibre entre ces différents paramètres. Aucun paramètre isolé ne peut déterminer la manière dont votre application se comportera dans différentes circonstances, mais l'utilisation conjointe de plusieurs paramètres peut donner un aperçu raisonnable des performances d'une application.
|