Compartir a través de


Información general acerca del rendimiento de ASP.NET

La creación de aplicaciones Web que respondan rápidamente a las solicitudes de los usuarios, incluso cuando se estén procesando muchas solicitudes en el servidor, ha supuesto un gran reto para los programadores y el personal de tecnología de la información desde los comienzos de Internet. Supervisar el rendimiento de un sitio Web es algo que todos los programadores de Internet e intranets deben ser capaces de hacer. ASP.NET se diseñó teniendo en cuenta este principio.

El modelo de ASP.NET proporciona diversas mejoras de rendimiento integradas que no se suministraban con las versiones anteriores de ASP. En particular, existen dos mejoras con relación al procesamiento de las solicitudes HTTP. En primer lugar, cuando se solicita una página ASP.NET por primera vez, se compila dinámicamente una instancia de la clase Page. (En las versiones anteriores de ASP, el código de página de las solicitudes se interpretaba en el orden en que aparecían en la página.) El compilador JIT (Just-In-Time) de Common Language Runtime compila el código administrado de las páginas ASP.NET para generar código nativo del servidor de procesamiento en tiempo de ejecución. En segundo lugar, una vez compilada la instancia de Page para la primera solicitud, se almacena en caché del servidor. Para las siguientes solicitudes de la página se ejecuta la instancia de la clase almacenada en caché. Después de la solicitud inicial, la clase Page se vuelve a compilar únicamente cuando se cambia el origen de la página o una de sus dependencias.

Además, ASP.NET almacena en caché los objetos internos, como las variables de servidor, para acelerar el acceso a los mismos por parte del código de usuario. Como parte de .NET Framework, ASP.NET se beneficia de las mejoras de rendimiento que ofrece Common Language Runtime, como la compilación JIT ya mencionada, un Common Language Runtime bien ajustado para equipos de un solo procesador o multiprocesador, etc.

Desafortunadamente, estas mejoras no pueden impedir que se escriba código que provoque problemas de rendimiento cuando la aplicación debe procesar simultáneamente un gran número de solicitudes HTTP. Es necesario probar las aplicaciones para asegurarse de que satisfarán la demanda de los usuarios. Existen cuatro medidas de rendimiento comunes que pueden probarse para garantizar el correcto funcionamiento de la aplicación.

  • Tiempo de ejecución
    Tiempo que tarda en procesarse una solicitud; normalmente se mide entre el primer y el último byte devuelto al cliente desde el servidor. El tiempo de ejecución afecta directamente al cálculo del rendimiento.
  • Tiempo de respuesta
    Tiempo que transcurre entre la emisión de una solicitud y la llegada al cliente del primer byte devuelto por el servidor. A menudo, éste es el aspecto que mejor percibe el usuario cliente. Si una aplicación tarda mucho en responder, el usuario puede impacientarse y dirigirse a otro sitio. El tiempo de respuesta de una aplicación puede variar independientemente de la tasa de rendimiento (o incluso en proporción inversa).
  • Escalabilidad
    Medida de la capacidad de una aplicación para mejorar su rendimiento cuando se le asignan más recursos (memoria, procesadores o equipos). Suele tratarse de una medida de la tasa de cambio de rendimiento con respecto al número de procesadores.
  • Rendimiento
    Número de solicitudes que una aplicación Web puede atender por unidad de tiempo; suele medirse en solicitudes por segundo. El rendimiento puede variar según la carga (número de subprocesos de cliente) que se aplique al servidor. A menudo se considera el factor de rendimiento que es más importante optimizar.

Para escribir aplicaciones con un rendimiento adecuado, es importante mantener el equilibrio de estas medidas. No existe un índice único que pueda caracterizar el comportamiento de una aplicación bajo circunstancias variables, pero el conjunto de varias medidas puede indicar si el rendimiento de la aplicación es bueno. Para obtener más información acerca del modo de obtener este tipo de medidas y acerca de los contadores de rendimiento que incluye ASP.NET, vea Supervisar el rendimiento de aplicaciones ASP.NET.

Para obtener sugerencias sobre cómo crear aplicaciones de alto rendimiento, vea Desarrollar aplicaciones ASP.NET de alto rendimiento.

Vea también

Optimización de ASP.NET