弹簧.net应用程序中的锁争用

时间:2011-07-04 14:18:05

标签: c# .net asp.net

我正在为.net 3.5运行时运行的web应用程序使用springframework .net 1.2和spark视图引擎。最近,我一直在调查我的应用程序在多核处理器负载下运行的性能。我注意到在负载下,aop代理方法需要更长的时间来完成高上下文切换但cpu利用率低。我使用vs2010资源争用分析器配置我的应用程序,它显示在应用程序的每个部分都发生了锁争用。我想知道哪里出错了,是不是因为我们使用了弹簧框架?

1 个答案:

答案 0 :(得分:0)

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