我有一个内置在SQLMVC3中的应用程序,它使用SQL进行存储,使用EFCTP5进行数据访问。
我将这个站点部署到一个共享主机上,结果发现它经常被回收,因为它达到了他们在(专用)应用程序池上设置的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"));
非常感谢本
发布于 2011-02-25 04:40:33
有趣的是,我认为他们的估计是从这个URL中得到的:
http://blog.whitesites.com/w3wp-exe-using-too-much-memory-and-resources__633900106668026886_blog.htm
附言:这是一篇很棒的文章,用来检查你是否在做他所描述的事情。(例如,缓存您的页面)
附注:刚刚检查了我们的系统,目前运行速度是50兆。我们使用的是MVC 2和EF CTP 4。
https://stackoverflow.com/questions/5045183
复制相似问题