BUENAS PRACTICAS CON LAS PUERTAS DE ENLACE
En esta serie de 3 artículos trataremos sobre:
- ¿Qué es un Gateway o puerta de enlace?
- 1.- Puerta de enlace personal
- 2.- Puerta de enlace estándar
- 3.- Buenas prácticas con las puertas de enlace
Comenzamos con esta tercera entrega de la serie de post dedicada a las puertas de enlace de Microsoft Power BI y en esta ocasión vamos a hablar sobre las buenas prácticas de uso.
Si has llegado hasta aquí es porque ya tienes instalado y funcionando tu puerta de enlace estandar y ahora lo que te gustaría es poder mejorar y optimizar su uso.
Cómo suele pasar con las buenas prácticas en general de cualquier cosa, ni son cosas infalibles ni son imprescindibles, pero lo que está claro es que si las aplicas seguro que notarás mejoras.
Bueno, empecemos con la lista:
1.- Coloca tu puerta de enlace lo más cerca posible de tus datos
Quizás este sea uno de los puntos más importantes a tener en cuenta y es tener las puertas de enlace lo más cerca posible físicamente de tus datos. Cuanto más distancia física tengamos, más saltos entre dispositivos serán necesarios. Cada uno de estos saltos (hops) añade una mínima latencia ya que la información necesita pasar por diferentes equipos y redes. Si es posible, lo ideal es que la puerta de enlace esté físicamente en la misma subred que los datos para mejorar el rendimiento.
En casos dónde estemos trabajando con equipos virtuales en la nube, será también muy importante tener estos equipos configurados en la misma región donde tengamos configurado nuestro tenant de Power BI y nuestros servicios de Azure. Puedes ver dónde se configura la región de tu puerta de enlace aquí.
2.- Instala la puerta de enlace en un servidor dedicado
Una forma de poder asegurar que la carga de los datos no sufra inconvenientes ni imprevistos en la carga de los datos es instalar la puerta de enlace en un servidor dedicado.
Aunque los requisitos mínimos para la instalación de una puerta de enlace sean equipos no dedicados ni servidores, esta recomendación nos va a asegurar que no existan servicios o aplicaciones que interfieran en la velocidad de red o de CPU. Obviamente, podemos ser un poco más «flexibles» con esta buena práctica cuando estemos trabajando en entornos de desarrollo o de test.
3.- Deshabilita los limitadores de red
También es algo obvio, pero que se nos puede escapar de hacer y es que algunos firewalls o proxis de red disponen de servicios de limitación de red para asegurar la conectividad de red de los equipos. Esto puede provocar en ciertos casos que se reduzca la velocidad de transferencia de los datos hacia el gateway.
4.- Evita ejecutar otras aplicaciones y servicios en el equipo de la puerta de enlace
En los casos dónde no sea posible tener un servidor dedicado en exclusiva para la puerta de enlace, lo que deberíamos hacer es intentar evitar al máximo posible la ejecución de otros servicios y aplicaciones que puedan ocupar memoria, cpu o consumo de red. Estos 3 puntos son clave para un buen funcionamiento de la puerta de enlace.
5. utiliza puertas de enlace separadas para conexiones import y directquery/live connect
Las conexiones de tipo IMPORT sólamente se producen cuando se actualizan datos. Aunque estas operaciones suelen realizarse en horas programadas de bajo uso de red o nocturnas, estas conexiones IMPORT ejecutan transformaciones de PowerQuery/M y acostumbran a consumir tanto CPU como memoria.
Por el contrario, para las conexiones Direct Query, la puerta de enlace no hace nada más que de puente entre los datos de origen y las solicitudes.
En general, las conexiones Direct Query consumen mucha menos memoria y CPU que las conexiones IMPORT. No obstante, como en algunos casos también es posible llegar a realizar alguna transformación y cálculo con Direct Query esto puede provocar picos de uso de CPU.
Por estos motivos, es recomendable SEPARAR las conexiones IMPORT de las conexiones DirectQuery en diferentes puertas de enlace. Esto nos permite dimensionarlas y configurarlas correctamente y también para evitar «sustos» de rendimiento.
6. Utiliza equipos con almacenamiento local rápido y amplio
Las puertas de enlace almacenan previamente en local los datos que después se enviarán al servicio de Power BI. Por defecto, la ubicación donde se almacenan estos datos es la siguiente:
%LOCALAPPDATA%\Microsoft\On-Premises data gateway\Spooler
Dependiendo del tamaño de los datasets que estés actualizando y de si se realizan en paralelo con otras operaciones de la puerta de enlace, podemos tener un cuello de botella importante que baje el rendimiento o incluso nos de problemas y no podamos realizar la operación. Es muy recomendable que los discos del equipo con la puerta de enlace tengan discos sólidos de gran velocidad y baja latencia.
En algunos casos puede ser interesante cambiar la configuración de esta ruta de almacenamiento. Para consegirlo, debemos modificar un archivo de configuración de la puerta de enlace. Este archivo está en la ruta:
C:\Archivos de Programa\On-premises data gateway\
y el nombre es: Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config
Edita el archivo con «Bloc de notas» o «Notepad++» y busca la entrada SpoolerDirectory, ahí podrás cambiar la ruta de tu Spooler.

La idea original de la serie de artículos sobre las puertas de enlace de Power BI acababa aquí pero a raíz de algunos comentarios recibidos tanto a través del blog como de forma directa en mis redes sociales, he decidido crear un nuevo post que hablará sobre monitorización, así que espero leeros en breve con este nuevo post que se está cociendo!
Saludos y muchas gracias a todos explorador@s de datos!