En este tutorial, aprenderá a evaluar el rendimiento de un código DAX mediante la opción Run Benchmark en DAX Studio .
La opción Run Benchmark le permite personalizar la cantidad de ejecuciones de caché en frío y caliente en su consulta.

Al hacer clic en esta opción, se abre el asistente Benchmark. Puede especificar la cantidad de veces que desea ejecutar una consulta en caché fría o caché tibia.

Caché en frío significa que DAX Studio primero borrará el caché y luego ejecutará la consulta según el número especificado. Por otro lado, la memoria caché en caliente significa que DAX Studio no borrará la memoria caché antes de ejecutar la consulta.
Este tutorial usará el siguiente código que genera el CallbackDataID:

Antes de usar la opción Run Benchmark, ejecutemos el código y veamos los datos de Server Timings .

Puede ver que el código tarda 134 milisegundos en ejecutarse. También contiene CallbackDataID .
Tabla de contenido
Uso de la opción Run Benchmark para el rendimiento del código DAX
Cuando hace clic en la opción Ejecutar Benchmark y ejecuta la consulta con 5 ejecuciones de caché en frío, verá una barra de progreso en la parte inferior del asistente de Benchmark. Borra el caché y luego ejecuta el código cinco veces.
Luego, se abrirán dos pestañas en el panel Resultados. La primera pestaña, Resumen , muestra una tabla con información sobre el tipo de Caché, su Estadística, Duración Total y Duración SE.
Al comparar los datos entre la caché fría y la caché tibia, puede ver que borrar la caché no tiene una diferencia significativa en la duración de la ejecución.
La segunda pestaña, Detalles , muestra información más completa sobre el caché de la consulta DAX.
Duración variable de caché
Ejecutemos un código DAX diferente para ver cómo afecta el tiempo de consulta.
Puede ver que solo se necesitan 13 milisegundos para borrar el caché y ejecutar el código.
A continuación, haga clic en la opción Ejecutar Benchmark. Desmarque la casilla y realice 10 ejecuciones tanto para el caché frío como para el cálido.

En el panel de resultados, puede ver que se tarda 12,8 milisegundos en ejecutarse en caché fría y 3,9 milisegundos en ejecutarse en caché tibio.

La duración del motor de almacenamiento no se puede medir en la memoria caché tibia porque las consultas se responden desde la propia memoria caché de datos.
En la pestaña Detalles, puede ver que hay un total de 20 ejecuciones; 10 en frío y 10 en cálido. La duración del frío es siempre mayor que la duración del calor.

Al desplazarse a la columna más a la derecha, puede ver que las coincidencias de caché de VertiPaq contienen 0 para caché en frío y 1 para caché en caliente.
Comparación del rendimiento del código DAX mediante gráficos
Para obtener datos más detallados, puede crear un gráfico de líneas a partir de los resultados de la opción Benchmark. Puede crear una comparación usando intervalos de 10. Es decir, ejecuta el punto de referencia usando 10, 20, 30, etc. para la caché fría y cálida. Esto le ayudará a comprender cuánto tiempo tarda en ejecutarse una consulta en función de , y .
También puede comenzar con una base de datos pequeña y ejecutar gradualmente el código de una base de datos más compleja. A continuación, cree un gráfico de líneas para ver el rendimiento del código.
Esto facilita identificar si la duración aumentó o disminuyó con respecto al número de filas en su consulta DAX.
Conclusión
Es importante optimizar el rendimiento de su código DAX. Una diferencia de 0,5 milisegundos por fila de código puede no significar mucho. Pero una vez que se trata de varias filas de código que producen un millón de filas como resultado, estos 0,5 ms marcarán una gran diferencia.
El uso de la opción Run Benchmark le permite recopilar los datos de tiempo de su código. Puede usar esto para hacer comparaciones entre diferentes filas de código. También puede usar esto para obtener información significativa sobre qué parte de su código DAX debe optimizarse.