我有一个基于ASP.NET MVC 3构建的应用程序,使用SQL CE进行存储和EF CTP 5进行数据访问。
我将此站点部署到共享主机上,发现它在命中其(专用)应用程序池设置的100mb限制时不断被回收。
在发布模式下运行的网站大约使用110mb RAM。
我尝试使用SQL Server Express而不是CE,但效果不大。
唯一显著的区别是当我完全删除了EF(使用虚拟repo)时。这使内存使用量降低了30mb-40mb。空白MVC模板大约使用20mb左右,所以我认为这还不错?
是否有“标准”ASP.NET MVC应用程序的基准测试?
如果能知道其他EF CTP用户的内存利用率以及一些内存分析工具(最好是免费的),那就太好了。
值得一提的是,我如何处理EF ObjectContext的生命周期。我正在使用每个请求的会话,并使用StructureMap实例化ObjectContext:
For<IDbContext>().HttpContextScoped().Use(ctx => new MyContext("MyConnStringName"));
非常感谢 Ben