spring.net应用程序中的锁争用

本文关键字:争用 net 应用程序 spring | 更新日期: 2023-09-27 18:01:11

我使用springframework.net 1.2和spark视图引擎来运行在.net 3.5运行时上的web应用程序。最近,我一直在研究我的应用程序在多核处理器上负载运行的性能。我注意到,当负载不足时,aop-proxyed方法需要更长的时间才能完成,上下文切换高,但cpu利用率低。我已经使用vs2010资源争用探查器对我的应用程序进行了评测,它显示了锁争用发生在应用程序的每个部分。我想知道哪里出了问题,是因为我们使用了springframework吗?

spring.net应用程序中的锁争用

我们已经确定了问题的根源。我们的应用程序使用槽型线程本地存储,根据我们的概念验证测试,它在并发负载下表现不佳。从spring.net找到一个很好的参考资料http://piers7.blogspot.com/2005/11/threadstatic-callcontext-and_02.html.VS2010资源争用分析帮助我们识别问题。从java背景来看,我不认为问题可能是线程本地存储,直到我们做了POC。