c# asp.net-mvc performance webforms

c# - ASP.NET MVC vs WebForms para la velocidad de carga de la primera página para grandes proyectos



asp.net-mvc performance (3)

Tenemos un gran proyecto ASP.NET WebForm (aplicación web) con muchas referencias a otras bibliotecas, otros proyectos, etc. y la mayoría de las veces después de una compilación, la primera vez que cargamos una página, toma mucho tiempo antes de renderizar algo ... Disk IO es el problema principal. Para proyectos pequeños es casi instantáneo, pero una vez que el proyecto se vuelve grande, puede realmente desacelerar el desarrollo y eliminar la diversión de la programación.

Mi pregunta: ¿El tiempo de carga de la primera página es posterior a una compilación tanto en ASP.NET MVC como en ASP.NET Webforms para grandes proyectos?


Verá tiempos de carga similares en ambos entornos.

En ambos entornos, si su sitio se vuelve grande, debe precompilar su sitio antes de la implementación. Esto eliminará la resistencia al rendimiento en la carga de la primera página.


MVC todavía utiliza el mismo marco de ASP.NET como formularios web, por lo que es probable que veas un comportamiento similar, independientemente.

El largo tiempo de carga inicial se debe a que el resultado de la compilación de su proyecto sigue siendo solo el código IL que debe compilarse en el código nativo mediante el compilador JIT antes de ejecutarse. Cualquier cambio de código que realice hará que se descarte el código nativo previamente almacenado en la memoria caché de su aplicación, por lo que el JIT deberá volver a compilar. Naturalmente, cuanto más grande sea su proyecto, más tiempo le tomará al JIT procesarlo.


Hay muchas cosas que se pueden hacer para mejorar el rendimiento, las mejoras para proporcionar una separación de las preocupaciones en las aplicaciones de MVC pueden ayudar mucho. Aunque el motor de vista predeterminado reutiliza formularios web, Views tiene una pila de control mucho más simple que los formularios web típicos, lo que ayuda mucho, ni siquiera mencionar los motores de vista alternativos.

El éxito de ''primera vista'' proviene de tener que JET un gran conjunto de clases / objetos que se usan en su proyecto y en su primera página.