2011-07-04 2 views
0

j'utilise springframework .net 1.2 et le moteur de vue étincelle pour mon application Web en cours d'exécution sur l'exécution .NET 3.5. récemment, j'ai étudié la performance de mon application fonctionnant sous charge sur le processeur multicœur. Je remarque quand sous la charge une méthode de proxied aop prend beaucoup plus de temps pour compléter avec la commutation de contexte élevée, mais l'utilisation du processeur faible. J'ai profil mon application en utilisant vs2010 profileur de contention de ressources et il montre que la contention de verrouillage est arrivé sur chaque partie de l'application. Je me demandais où pourrait se tromper, est-ce à cause du ressort que nous avons utilisé?contention de verrouillage au printemps application .net

Répondre

0

Nous avons identifié la racine du problème. Notre application utilise un stockage local de thread de type slot qui, basé sur notre test de preuve de concept, a mal fonctionné sous charge simultanée. Une bonne référence trouvée à partir du printemps .net http://piers7.blogspot.com/2005/11/threadstatic-callcontext-and_02.html. Le profil de contention des ressources VS2010 nous aide à identifier le problème. Venant de l'arrière-plan de Java, je ne crois pas que le problème pourrait être le stockage local de thread jusqu'à ce que nous ayons fait un POC.