miércoles, 16 de mayo de 2012

Convertir traza SQL Profiler a Extended Events

Con la llegada de SQL Server 2008 se introdujo la tecnología de eventos extendidos, que se dijo en aquel momento iba a reemplazar en un futuro a nuestro querido SQL Profiler. Una de las principales pegas por las que personalmente he visto poca aplicación de dicha tecnología ha sido el hecho de que no disponía de una interfaz gráfica con la que trabajar y que por tanto te obligaba a escribir T-SQL ya no solo para crear dichas trazas, sino para poder analizar los resultados.

¿Qué es Extended events?

Los eventos extendidos son un sistema de captura de eventos de caracter general. Las ventajas de este sistema son que se trata de un sistema de captura extremadamente ligero, que permite la correlación con múltiples sistemas de logs de aplicación y del propio log del sistema operativo, así como la posibilidad de trabajar con múltiples destinos, entre los que se encuentran: destinos a disco y a memoria RAM, conteo simple de eventos,…y todo ello con la posibilidad de que sea en paralelo (varios destinos simultáneamente). Además, una de las características que todavía lo hacen mas interesante es que podemos llegar a definir eventos de bajo nivel, llegando al punto de poder crear una traza a nivel de PAGE_SPLIT (esto es, cuando una página de 8k de SQL Server debe ser dividida para insertarle información); esto, unido a que en SQL Server 2012 tenemos más de 700 eventos disponibles, convierte a los extended events en el paso lógico de trazabilidad para SQL Server.

¿Qué mejoras trae Extended Events en SQL Server 2012?

SQL Server 2012 trae muchas novedades relativas a Extended Events, que incluso han producido que SQL Profiler ya esté oficialmente marcado como deprecated. Algunas de las mejoras que se incorporan en SQL Server 2012 son:

Continua leyendo aquí.

jueves, 3 de mayo de 2012

Beneficios de Soft-NUMA: Cuidado con lo que lees

SQL Server es una aplicación con soporte NUMA. Esto quiere decir, que será capaz de explotar correctamente hardware diseñado con arquitectura NUMA. Además de esto, nos permite su configuración por software con el fin de obtener algun rendimiento extra como ahora veremos.

¿Qué es NUMA?

NUMA= Non Uniform Memory Access

Una arquitectura NUMA vendrá dada por una serie de nodos, cada uno de los cuales tiene su propia circuiteria de CPU y memoria local y que están interconectados mediante un bus (sea token ring, shared bus,…lo que sea…pero están interconectados).

Se corresponderia con el siguiente diagrama:

image

En este post no vamos a entrar en detalles sobre beneficios de hardware NUMA, sino que nos vamos a centrar en Soft-NUMA.

¿Qué es Soft-NUMA?

Soft-NUMA es la forma que tenemos en SQL Server de “simular” o “engañar” a nuestras instancias SQL Server de que tenemos una composición NUMA como la anteriormente citada.

Continuar leyendo