Vous avez une application .NET qui fonctionne en production sur un environnement avec une charge conséquente, et vous observez des problèmes de performance qui semblent “apparaître” à certains moments seulement. Par exemple, des procédures stockées qui semblent partir en vrille à l’exécution, mais seulement à certains moments.
Armé d’une version récente de SQL Management Studio, vous tentez de reproduire le problème, dans le but d’analyser le plan d’exécution. Et là, c’est la surprise totale! La requête qui s’exécute en plusieurs secondes, voire plusieurs minutes dans votre application s’exécute maintenant presque instantanément ! Et ce, alors que celle-ci peine lorsqu’appelée de l’application !
Et vous vous dites : Mais ça n’a pas de sens, pourquoi l’exécution est-elle si lente dans mon logiciel .NET et là c’est instantané, et ce au même moment, dans les mêmes conditions ? Eh bien, c’est tout simple, vous pourriez être l’une des nombreuses victimes de la différence de contexte entre toute application .NET et Management Studio ! Mais ne vous découragez pas, cet article vous expliquera le pourquoi de la chose !