Tengo una aplicación creada en ASP.NET MVC 3 que usa SQL CE para almacenamiento y EF CTP 5 para acceso a datos.ASP.NET MVC y EF Code First Memory Usage
Implementé este sitio en un host compartido solo para descubrir que se recicla constantemente ya que está llegando al límite de 100mb que establecieron en sus grupos de aplicaciones (dedicadas).
El sitio, cuando se ejecuta en modo de lanzamiento utiliza alrededor de 110mb de RAM.
He intentado utilizar SQL Server Express en lugar de CE, y esto ha supuesto una pequeña diferencia.
La única diferencia significativa es cuando eliminé EF por completo (utilizando un repositorio falso). Esto redujo el uso de memoria entre 30mb-40mb. Una plantilla MVC en blanco usa alrededor de 20mb así que pensé que esto no es tan malo.
¿Hay puntos de referencia para las aplicaciones "estándar" ASP.NET MVC?
Sería bueno saber qué utilización de memoria están recibiendo otros usuarios de EF CTP, así como algunas sugerencias para las herramientas de creación de perfiles de memoria (preferiblemente las gratuitas).
Vale la pena mencionar cómo manejo la vida del EF ObjectContext. Estoy utilizando la sesión por solicitud y crear instancias de la ObjectContext usando StructureMap:
For<IDbContext>().HttpContextScoped().Use(ctx => new MyContext("MyConnStringName"));
Muchas gracias Ben
IMO, 100MB para su grupo de aplicaciones es miserable. –
Eso es lo que pensé, pero hasta que tenga algo para compararlo no tengo un caso para volver al host. –
depende de cuánto pagas. Obviamente, una empresa de alojamiento compartido de $ 10/mes no va a asignar muchos más recursos para una cuenta de esa economía. Por otro lado, si pagas alrededor de $ 50/mes, deberías obtener del orden de 1GB de ram, que sería suficiente. –