i'm using springframework .net 1.2 and spark view engine for my web application running on .net 3.5 runtime. recently, i have been investigating the performance of my 开发者_开发问答application running under load on multicore processor. i notice when under load a aop proxied method takes much much longer to complete with high context switching but low cpu utilization. i have profile my application using vs2010 resource contention profiler and it show that lock contention happened on every part of the application. i was wondering where could be wrong, is it because of the springframework we used?
We have identify the root of the problem. Our application uses a slot type thread local storage which based on our proof of concept testing, it performed badly under concurrent load. A good reference found from spring .net http://piers7.blogspot.com/2005/11/threadstatic-callcontext-and_02.html. The VS2010 resource contention profiling help us to identify the problem. Coming from java background i don't believe the problem could be the thread local storage until we did a POC.
精彩评论