Mejores prácticas de rendimiento de ASP.NET
Autor:Eve Cole
Fecha de actualización:2009-06-30 16:04:02
Organice recomendaciones de prácticas de diseño lógico/físico basadas en el webcast de MSDN: utilice páginas de modelo lógico de tres niveles (.aspx) y controles de usuario (.ascs).
Los tipos reutilizables (componentes) se colocan en el directorio bin. Los datos se colocan en una base de datos SQL. Recomendado: Diseño para Web Farm. No asuma que los visitantes siempre regresarán al mismo servidor.
Recomendaciones sobre el estado de la sesión de Web Farm: utilizar el mismo proceso debe evitar (cuando sea posible):
Llamadas síncronas a servicios Web XML utilizando servicios Web XML mediante llamadas remotas a través de DCOM:
La comunicación entre aplicaciones en Internet no debe usarse para la comunicación dentro de la aplicación. Recomendación: use el servidor ISA cuando se requiera una zona de seguridad DMZ:
Permitir el acceso sólo a través de ISA
Túnel ISA a través de DMZ a ASP.NET
Reducir las recomendaciones de código/lenguaje de cambio de proceso para evitar el uso de enlace tardío
<%@ Page Language = "VB" Explicit = "true" %> requiere la declaración de todos los tipos de variables y aún permite el enlace tardío
<%@ Page Language = "VB" estricto = "true" %>Prohíbe el uso de cualquier enlace tardío
Se recomienda utilizar COM lo menos posible para la interacción COM y, para utilizar datos de componentes administrados, se recomienda almacenar los datos en SQL Server y elegir el método de acceso a datos adecuado: OLEDB/SQL client/ODBC.
Elija razonablemente DataSet y DataReader para la gestión del estado de acceso a datos y elija la forma adecuada de almacenar la sesión: Inproc/StateServer/database
Utilice tipos de datos simples para evitar guardar los objetos COM de STA en la sesión. Si la sesión no es necesaria, desactívela: EnableSessionState = "false".
Si es posible, utilice el atributo de solo lectura: EnableSessionState = "Readonly"
Si no es necesario ViewState, deshabilítelo, EnableViewState = false
Minimizar los datos en ViewState Ver el tamaño de ViewState Ver el código fuente de salida HTML o habilitar Trace
Usar caché Caché de página Caché de página parcial
Caché de datos de objetos de caché
Método de caché de WebService para cuantificar el rendimiento WEB: Tiempo de respuesta de rendimiento de la máquina Probado cargando el servidor Uso de varias máquinas cliente para cargar la aplicación web de Microsoft gratuita Estrés
Pruebe múltiples escenarios para simular el recorrido del escenario de un extremo a otro del sitio. Pruebe el rendimiento de una sola página. Los valores de solicitud/sexo bajo diferentes cargas (100, 250, 500, 750, 1000, etc.) clientes que visitan al mismo tiempo)
Identifica la carga máxima del cliente dentro del tiempo de respuesta TTFB/TTLB aceptable. Contadores de rendimiento críticos Procesador, % de utilización de CPU || Valores bajos = exposición o contención de bloqueo
ASP.NET, número de solicitudes en cola || El crecimiento lineal significa que el servidor está completamente cargado
Aplicación ASP.NET, solicitudes por segundo||Rendimiento dinámico (debe ser consistente)
Aplicación ASP.NET, número total de errores || Indica errores funcionales (debe ser 0)
Aplicación ASP.NET, reinicio del proceso de trabajo || Indica un error funcional grave