У меня есть приложение, созданное в ASP.NET MVC 3, которое использует SQL CE для хранения и EF CTP 5 для доступа к данным.
Я развернул этот сайт на общий хост, только чтобы найти, что он постоянно перерабатывается, поскольку он нажимает ограничение на 100mb, которое они устанавливают в своих (выделенных) пулах приложений.
Сайт, работающий в режиме деблокирования, использует около 110 МБ ОЗУ.
Я пробовал использовать SQL Server Express, а не CE, и это не имело особого значения.
Единственное существенное различие заключается в том, что я полностью удалял EF (используя поддельное репо). Это снизило использование памяти между 30mb-40mb. Пустой шаблон MVC использует около 20 мб, поэтому я решил, что это не так уж плохо?
Есть ли тесты для стандартных приложений ASP.NET MVC?
Было бы хорошо знать, какое использование памяти используют другие пользователи EF CTP, а также некоторые предложения для инструментов профилирования памяти (желательно, бесплатные).
Стоит упомянуть, как я обрабатываю время жизни объекта EF ObjectContext. Я использую сеанс для каждого запроса и создаю объект ObjectContext с помощью StructureMap:
For<IDbContext>().HttpContextScoped().Use(ctx => new MyContext("MyConnStringName"));
Большое спасибо Бен