Successfully reported this slideshow.

Como hacer tuning a capas de acceso a datos en .NET

3

Share

Loading in …3
×
1 of 11
1 of 11

Como hacer tuning a capas de acceso a datos en .NET

3

Share

Download to read offline

En esta sesión hablaremos de tecnicas de profiling avanzado de aplicaciones .NET. Usaremos interceptores, compilaremos nuestra modificación de EntityFramework, usaremos ANTS profiler, analizaremos con PowerPivot, usaremos SQL Server Profiler, revisaremos cómo trabajamos nativamente con los datos ya capturados en la capa DAL de nuestra arquitectura,...Preparate para optimizar de verdad!

En esta sesión hablaremos de tecnicas de profiling avanzado de aplicaciones .NET. Usaremos interceptores, compilaremos nuestra modificación de EntityFramework, usaremos ANTS profiler, analizaremos con PowerPivot, usaremos SQL Server Profiler, revisaremos cómo trabajamos nativamente con los datos ya capturados en la capa DAL de nuestra arquitectura,...Preparate para optimizar de verdad!

More Related Content

Como hacer tuning a capas de acceso a datos en .NET

  1. 1. Cómo hacer tuning a capas de acceso a datos en .NET Enrique Catalá Bañuls Mentor SolidQ ecatala@solidq.com www.solidq.com @enriquecatala www.enriquecatala.com MADRID · NOV 27-28 · 2015
  2. 2. Comunidad SQL Saturday en España  Evento anual con sesiones del mas alto nivel técnico  Ponentes de renombre nacionales e internacionales  MVPs, equipo microsoft y especialistas internacionales  Segunda edición con mas de 300 asistentes este año  Este año con 24 sesiones gratuitas y una preconferencia de 4h el viernes  La comunidad para la los apasionados de SQL Server! www.sqlsaturday.com
  3. 3. MADRID · NOV 27-28 · 2015 Enrique Catalá Bañuls  Ingeniero Informático  Microsoft Data Platform MVP  Mentor en SolidQ  Tuning y alta disponibilidad ecatala@solidq.com www.solidq.com @enriquecatala enrique@enriquecatala.com www.enriquecatala.com
  4. 4. MADRID · NOV 27-28 · 2015 Agenda 1. Capas de acceso a datos 2. Complejidad algorítmica 3. Profiling de una aplicación .NET 4. Profiling de un Worker Role 5. Consideraciones de concurrencia 6. INTRODUCCIÓN Y DEMOS!!!
  5. 5. MADRID · NOV 27-28 · 2015 Enfoque a tuning: escenarios posibles Hardware Tuning HW (cabina, red,..) ServiciosTuning SQL, IIS Aplicación Tuning aplicaciones
  6. 6. MADRID · NOV 27-28 · 2015 Capas de acceso a datos Tipología de acceso Por conjuntos Por cursores Patrones de bajo nivel Dinámico Adhoc Parametrizable Estático Stored procedures Arquitecturas Modelo conectividad Conectada Desconectada Modelo de desarrollo Manual ORM
  7. 7. MADRID · NOV 27-28 · 2015 Demo 1 Profiling sencillo de una aplicación Añadiendo intercepción
  8. 8. MADRID · NOV 27-28 · 2015 Entity Framework Después de 18 meses de duro trabajo, la aplicación no escala…¿qué hacemos? Librería Método ¿Qué hace? Query.PlanCompiler.Pl anCompiler Compile(cqt.DbCommandTree ctree, …….) Compila query hacia SQL Server. Coste de compilación. Aquí generalmente es donde debemos poner esfuerzos en optimizar linq Objects.Elinq.Compiled ELinqQueryState GetExecutionPlan(MergeOption? forMergeOption) Obtener plan de ejecución ya compilado previamente Objects.Elinq.ELinqQu eryState GetExecutionPlan(MergeOption? forMergeOption) Obtener plan de ejecución todavía no compilado Objects.ObjectQuery<T > GetResults(MergeOption? forMergeOption) Obtiene datos. Incluye datos GetExecutionPlan, Compile y el coste de materializar incluido. Es el coste total
  9. 9. MADRID · NOV 27-28 · 2015 Entity Framework Después de 18 meses de duro trabajo, la aplicación no escala…¿qué hacemos?
  10. 10. MADRID · NOV 27-28 · 2015 Complejidad algorítmica List<T> -> O(n) Dictionary<T,U> -> O(1)
  11. 11. ¿Preguntas? Enrique Catalá Bañuls Mentor SolidQ ecatala@solidq.com www.solidq.com @enriquecatala www.enriquecatala.com MADRID · NOV 27-28 · 2015

Editor's Notes

  • En esta sesión hablaremos de tecnicas de profiling avanzado de aplicaciones .NET. Usaremos interceptores, compilaremos nuestra modificación de EntityFramework, usaremos ANTS profiler, analizaremos con PowerPivot, usaremos SQL Server Profiler, revisaremos cómo trabajamos nativamente con los datos ya capturados en la capa DAL de nuestra arquitectura,...Preparate para optimizar de verdad!
  • Comentar qué tipo de tests ponemos en marcha y qué solemos detectar en cada uno de ellos. Al final la idea es acabar diciendo que en esta sesión nos vamos a centrar en tuning de aplicaciones .NET, en la capa mas alta de la solución.

  • Patrones
  • Dependerá de la versión de EF en la que estés, te tocará arremangarte bien las manos

    Para la demo, buscar en el código
    #if TRAZA_ENTITYFRAMEWORK
  • En esta sesión hablaremos de tecnicas de profiling avanzado de aplicaciones .NET. Usaremos interceptores, compilaremos nuestra modificación de EntityFramework, usaremos ANTS profiler, analizaremos con PowerPivot, usaremos SQL Server Profiler, revisaremos cómo trabajamos nativamente con los datos ya capturados en la capa DAL de nuestra arquitectura,...Preparate para optimizar de verdad!
  • ×