我有一个内置在ASP.NET MVC 3中的应用程序,它使用SQL CE存储和EF CTP 5进行数据访问。ASP.NET MVC和EF代码第一次内存使用
我已经将此站点部署到共享主机,只是发现它不断被回收,因为它达到了他们在(专用)应用程序池上设置的100mb限制。
该网站在发布模式下运行时使用大约110MB RAM。
我试过使用SQL Server Express而不是CE,这没什么区别。
唯一的显着差异是当我完全删除EF(使用假回购)。这减少了30mb-40mb之间的内存使用量。一个空白的MVC模板使用大约20mb,所以我认为这不是太糟糕?
“标准”ASP.NET MVC应用程序是否有任何基准?
很高兴知道其他EF CTP用户获得的内存使用情况以及针对内存分析工具(最好是免费的)的一些建议。
值得一提的是我如何处理EF ObjectContext的生命周期。我使用的每个请求的会话和实例的ObjectContext使用StructureMap:
For<IDbContext>().HttpContextScoped().Use(ctx => new MyContext("MyConnStringName"));
非常感谢 本
海事组织,为您的应用程序池100MB是微不足道的。 – 2011-02-18 18:45:03
这就是我的想法,但直到我有东西来衡量它与我没有真正的情况下回到主机。 – 2011-02-18 19:04:16
这取决于你的支付多少。很明显,每月10美元的共享托管公司不会为这样的经济协议分配更多的资源。另一方面,如果你每月支付50美元左右,你应该得到1GB的内存,这将是很多。 – 2011-02-19 21:04:42