最近想把自己的網站框架用IOC改造下,經過對比,我初步選擇autofac,雖然MEF不需要配置,但性能不行,autofac雖然需要自己寫自動化注入,但性能非常好。
先分析下各大IOC框架的性能,分兩類測試,一類是單例,一類的每次注入新的對象。
MEF本來也測試了,但代碼放公司,就懶得跑了,性能最好的前三是:Nlite,autofa,MEF,但NLite太輕量了,提供的API不太能滿足實際需求,本來打算用MEF,配置簡單,但下面的測試讓我最終選擇了autofa
但今天在並發性測試的時候,發現MEF在高並發情況下會出現未知異常,在使用OutputCache的情況下,使用Lazy模式加載對象會出現性能不好,且急劇下降和不穩定的情況,有少量500錯誤。
非lazy模式更悲慘,在開始能保持6000多的並發,但一會之后不堪入目啊,還有未知500錯誤。
在不使用outputcache的情況下,使用IOC的響應時間稍好,但用測試工具跑一會之后會出現錯誤
用autofac測試無任何錯誤
