Supervisión y optimización del rendimiento de la puerta de enlace de datos local

Supervisión del rendimiento de la puerta de enlace (versión preliminar pública)

Para supervisar el rendimiento, los administradores de puerta de enlace han dependido tradicionalmente de la supervisión manual de los contadores de rendimiento a través de la herramienta Monitor de rendimiento de Windows. Ahora ofrecemos un registro de consultas adicional y un archivo de plantilla PBI de rendimiento de puerta de enlace para visualizar los resultados. Esta característica proporciona nuevos conocimientos sobre el uso de la puerta de enlace. Puede usarlo para solucionar problemas de consultas de rendimiento lento.

Nota:

Actualmente, esta función solo está disponible para la puerta de enlace de datos local en el modo estándar. No está disponible para el modo personal.

Nota:

Los diagnósticos de la puerta de enlace no capturan los diagnósticos directamente relacionados con la máquina (virtual) y su red, como el ancho de banda o la latencia. Sin embargo, estos diagnósticos pueden afectar el rendimiento de su puerta de enlace. Puede utilizar herramientas de supervisión de recursos para supervisar su máquina.

Registro de rendimiento

Esta característica está ahora activada de manera predeterminada.

Nota:

  • Actualmente, las consultas de la capacidad premium a la puerta de enlace a veces se pierden en este registro. Estamos trabajando activamente para la solución de este problema.
  • Actualmente, las consultas de informes paginados de Power BI no se registran con esta herramienta.

Configurar el registro de rendimiento

Hay otros valores en el archivo de configuración C:\Program Files\On-premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config que puede actualizar según sea necesario:

  • ReportFilePath: determina la ruta donde se almacenan los cuatro archivos de registro. Por defecto, esta ruta es \Usuarios\PBIEgwService\AppData\Local\Microsoft\Puerta de enlace de datos local\Informe o \Windows\ServiceProfiles\PBIEgwService\AppData\Local\Microsoft\Puerta de enlace de datos local\Informe. La ruta depende de la versión del sistema operativo. Si usa una cuenta de servicio para la puerta de enlace que no sea PBIEgwService, reemplace esta parte de la ruta con el nombre de la cuenta de servicio.
  • ReportFileCount: determina la cantidad de archivos de registro de cada tipo que se deben conservar. El valor predeterminado es 10.
  • ReportFileSizeInBytes: determina el tamaño del archivo a mantener. El valor predeterminado es 104 857 600.
  • QueryExecutionAggregationTimeInMinutes: determina el número de minutos durante los cuales se agrega la información de ejecución de la consulta. El valor predeterminado es 5.
  • SystemCounterAggregationTimeInMinutes: determina el número de minutos para los que se agrega el contador del sistema. El valor predeterminado es 5.

Después de realizar los cambios en el archivo de configuración, reinicie la puerta de enlace para que estos valores de configuración surtan efecto. Ahora verá que los archivos de informe se generan en la ubicación que especificó para ReportFilePath.

Nota:

Puede llevar hasta 10 minutos más del tiempo establecido para QueryExecutionAggregationTimeInMinutes en el archivo de configuración hasta que los archivos comiencen a aparecer en la carpeta.

Descripción de los registros de rendimiento

Cuando activa esta función, se crean tres nuevos archivos de registro:

  • El informe de ejecución de consultas
  • El informe de inicio de consultas
  • El informe de agregación de ejecución de consultas
  • El informe de agregación del contador del sistema

El informe de ejecución de consultas contiene información detallada sobre la ejecución de consultas. Se capturan los siguientes atributos.

Atributo Descripción
GatewayObjectId Identificador único de la puerta de enlace.
RequestID Identificador único de una solicitud de puerta de enlace. Podría ser el mismo para múltiples consultas.
DataSource Contiene el tipo origen de datos y el origen de datos.
QueryTrackingId Identificador único de una consulta. Sin embargo, puede repetirse si una consulta falla y se vuelve a intentar.
QueryExecutionEndTimeUTC Hora a la que se completó la ejecución de la consulta.
QueryExecutionDuration (ms) Duración de la ejecución de una consulta.
QueryType Tipo de consulta. Por ejemplo, la consulta pasada podría ser una actualización de Power BI o DirectQuery. O bien, podría ser consultas de Power Apps y Power Automate.
DataProcessingEndTimeUTC Momento en que se completan las actividades de procesamiento de datos como el "spooling", la recuperación de datos, la compresión y el procesamiento de datos.
DataProcessingDuration (ms) Duración de las actividades de procesamiento de datos como el "spooling", la recuperación de datos, la compresión y el procesamiento de datos.
Success Indica si la consulta se realizó correctamente o generó errores.
ErrorMessage Si la consulta falla, indica el mensaje de error.
SpoolingDiskWritingDuration (ms) Indica la cantidad de tiempo que tardó la puerta de enlace en escribir todos los datos en el disco.
SpoolingDiskReadingDuration (ms) Indica la cantidad de tiempo que tardó la puerta de enlace en leer todos los datos en el disco.
SpoolingTotalDataSize (bytes) Tamaño (comprimido) de los datos que se escriben en el disco o se leen desde este
DataReadingAndSerializationDuration (ms) Indica la cantidad de tiempo que tarda la puerta de enlace en leer los datos del origen de datos y serializarlos en paquetes.
DiskRead (byte/sec) Indica los bytes leídos por la puerta de enlace por segundo. DiskRead(byte/sec) = SpoolingTotalDataSize / SpoolingDiskReadingDuration
DiskWrite (byte/sec) Indica los bytes escritos por la puerta de enlace por segundo. DiskWrite(byte/sec) = SpoolingTotalDataSize / SpoolingDiskWritingDuration

El informe de inicio de la consulta contiene la consulta y la hora de inicio de la consulta. Se capturan los siguientes atributos.

Nota:

EvaluationContext se muestra sin que se habilite el registro adicional para los flujos de datos de Power BI y Dataflow Gen2 solo para usuarios en licencias Pro. Todavía necesita un registro adicional habilitado para ver EvaluationContext para los flujos de datos de Power BI de los usuarios en licencias Premium.

Atributo Descripción
GatewayObjectId Identificador único de la puerta de enlace.
RequestID Identificador único de una solicitud de puerta de enlace. Podría ser el mismo para múltiples consultas.
DataSource Contiene el tipo origen de datos y el origen de datos.
QueryTrackingId Identificador único de una consulta. Sin embargo, puede repetirse si una consulta falla y se vuelve a intentar.
QueryExecutionStartTimeUTC Hora a la que se inició la ejecución de la consulta.
QueryType Tipo de consulta. Por ejemplo, la consulta pasada podría ser una actualización de Power BI o DirectQuery. O bien, podría ser consultas de Power Apps y Power Automate.
QueryText Consulta completa codificada en base64.
EvaluationContext Contiene el valor artifactId (es decir, ModelID, DataflowsId) junto con datos adicionales en función del artefacto. Tenga en cuenta que este campo solo se rellena para flujos de datos de Dataflow Gen2 y Power Platform.

El informe de agregación de ejecución de consultas contiene información de consulta agregada a un intervalo de tiempo por GatewayObjectId, DataSource, Success y QueryType. El valor predeterminado es 5 minutos, pero se puede modificar. Se capturan los siguientes atributos.

Atributo Descripción
GatewayObjectId Identificador único de la puerta de enlace.
AggregationStartTimeUTC Inicio de la ventana de tiempo para la cual se agregaron los atributos de consulta.
AggregationEndTimeUTC Final de la ventana de tiempo para la cual se agregaron los atributos de consulta.
DataSource Contiene el tipo origen de datos y el origen de datos.
Success Indica si la consulta se realizó correctamente o generó errores.
AverageQueryExecutionDuration (ms) Tiempo promedio de ejecución de consultas para la ventana de tiempo de agregación.
MaxQueryExecutionDuration (ms) Tiempo máximo de ejecución de consultas para la ventana de tiempo de agregación.
MinQueryExecutionDuration (ms) Tiempo mínimo de ejecución de consultas para la ventana de tiempo de agregación.
QueryType Tipo de consulta. Por ejemplo, la consulta pasada podría ser una actualización de Power BI o DirectQuery. O bien, podría ser consultas de Power Apps y Power Automate.
AverageDataProcessingDuration (ms) Tiempo promedio de las actividades de procesamiento de datos como el "spooling", la recuperación de datos, la compresión y el procesamiento de datos para la ventana de tiempo de agregación.
MaxDataProcessingDuration (ms) Tiempo máximo de las actividades de procesamiento de datos como el "spooling", la recuperación de datos, la compresión y el procesamiento de datos para la ventana de tiempo de agregación.
MinDataProcessingDuration (ms) Tiempo mínimo de las actividades de procesamiento de datos como el "spooling", la recuperación de datos, la compresión y el procesamiento de datos para la ventana de tiempo de agregación.
Recuento Número de consultas.

El informe de agregación del contador del sistema contiene valores del contador del sistema agregados a un intervalo de tiempo. El valor predeterminado es 5 minutos, pero se puede modificar. Se capturan los siguientes atributos.

Atributo Descripción
GatewayObjectId Identificador único de la puerta de enlace.
AggregationStartTimeUTC Inicio de la ventana de tiempo para los contadores del sistema que se agregaron.
AggregationEndTimeUTC Final de la ventana de tiempo para los contadores del sistema que se agregaron.
CounterName Cada uno de los contadores del sistema se aplica a un servidor que hospeda un nodo de puerta de enlace e incluye:
SystemCPUPercent: CPU usada en el servidor como porcentaje de CPU total disponible.
SystemMEMUsedPercent: memoria usada en el servidor como porcentaje de memoria total disponible.
GatewayCPUPercent: la suma del porcentaje de CPU usada por el proceso de puerta de enlace en cada núcleo. Para obtener el porcentaje de CPU usada en el servidor, divida GatewayCPUPercent por el número de núcleos.
GatewayMEMKb: suma de la memoria total en kilobytes usada por el proceso de puerta de enlace.
Máx. Valor máximo para el contador del sistema para la ventana de tiempo de agregación.
Mín. Valor mínimo para el contador del sistema para la ventana de tiempo de agregación.
Media Valor promedio para el contador del sistema para la ventana de tiempo de agregación.

Visualizar el rendimiento de la puerta de enlace

Ahora, puede visualizar los datos que están en los archivos de registro.

  1. Descargue la plantilla PBI de rendimiento de la puerta de enlace y ábrala mediante Power BI Desktop.

  2. En el cuadro de diálogo que se abre, verifique que la ruta de la carpeta coincida con el valor de ReportFilePath.

    Pop-up for the folder path.

  3. Seleccione Cargar y el archivo de plantilla comenzará a cargar los datos de los archivos de registro. Todos los objetos visuales se completan utilizando los datos en los informes.

  4. Opcionalmente, guarde este archivo como PBIX y publíquelo en su servicio para actualizaciones automáticas. Para más información, vaya a Publicación de modelos semánticos e informes desde Power BI Desktop.

También puede personalizar este archivo de plantilla para satisfacer sus necesidades. Para más información sobre las plantillas de Power BI, consulte esta entrada de blog de Microsoft Power BI.

Supervisión del almacenamiento de spool

De forma predeterminada, el almacenamiento en spool para la puerta de enlace se encuentra en C:\Users\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Spooler. Asegúrese de supervisar esta ubicación para asegurarse de que haya suficiente espacio libre en el disco. Más información: Datos de spooling de la puerta de enlace

Supervisión de la simultaneidad de los miembros de la puerta de enlace

De forma predeterminada, el límite del número de consultas que se pueden ejecutar simultáneamente en un nodo de puerta de enlace es 40. Alcanzar este límite a menudo hará que las consultas entrantes se pongan en cola pendientes de ejecutarse durante mucho tiempo, lo que provocará una degradación del rendimiento y un tipo de error de tiempo de espera excedido. Si sospecha que un miembro de puerta de enlace alcanza este límite, habilite el registro adicional, exporte los registros de puerta de enlace, eche un vistazo a los archivos de Mashup*.log, busque las palabras clave "runningCount" y "pendingCount" y compruebe si el "runningCount" suele estar cerca de 40, o si el "pendingCount" suele estar por encima de cero. Consulte este documento para obtener más información sobre cómo planear y escalar la puerta de enlace.

Consultas que se procesan con lentitud

Las consultas de larga duración pueden requerir modificaciones adicionales en el origen de datos o una mayor optimización de la consulta en sí. Esto podría ser para las actualizaciones de Power BI o para consultas directas de base de datos, como DirectQuery de Power BI, Power Apps o Azure Logic Apps.

De forma predeterminada la puerta de enlace realiza el registro básico. Si está investigando consultas de rendimiento lento, además de utilizar la función de supervisión de rendimiento, puede habilitar temporalmente el Registro adicional para recopilar información de registro adicional, como registros del motor mashup, cadenas de consulta y seguimiento detallado. Estos registros se escriben en el mismo lugar que los registros de puerta de enlace normales. Para hacer esto, en la aplicación de puerta de enlace de datos local, seleccione Diagnósticos>Registro adicional.

Turn on additional logging.

Si habilita esta configuración es probable que aumente considerablemente el tamaño del registro, en función del uso de la puerta de enlace. Recomendamos que cuando haya finalizado de revisar los registros, deshabilite el registro adicional. No se recomienda dejar esta configuración habilitada durante el uso normal de la puerta de enlace.

Optimizar el rendimiento mediante la transmisión de datos

De manera predeterminada, la puerta de enlace de datos local pone en cola los datos antes de devolverlos al modelo semántico, lo que puede provocar un rendimiento más lento durante las operaciones de carga y actualización de datos. Este comportamiento predeterminado se puede reemplazar.

  1. En el archivo C:\Program Files\On-Premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config, establezca la configuración StreamBeforeRequestCompletes en Verdadero y luego guarde.

    <setting name="StreamBeforeRequestCompletes" serializeAs="String">
       <value>True</value>
    </setting>
    
  2. En Puerta de enlace de datos local>Configuración del servicio, reinicie la puerta de enlace.

Optimizar el rendimiento excluyendo carpetas específicas del examen antivirus

Para evitar posibles impactos en el rendimiento, se pueden excluir determinadas carpetas del examen de antivirus cuando se usa un software antivirus de nivel de archivo en el servidor donde está instalada una puerta de enlace de datos local. Si no se excluyen estas carpetas, es posible que observe los impactos en el rendimiento y, posiblemente, otros comportamientos inesperados, ya que estas carpetas reciben una gran cantidad de operaciones de escritura y son, en el núcleo, las canalizaciones de datos de la puerta de enlace de datos local.

Carpetas que podrían tener que excluirse del examen de antivirus en el servidor de puerta de enlace de datos local

Nota:

La unidad de marcador de posición siguiente representa la letra de la unidad en la que está instalada la puerta de enlace de datos local. Normalmente, la letra del controlador es C. El siguiente marcador de posición ServiceAccount representa la cuenta de servicio que ejecuta la puerta de enlace de datos local. La cuenta predeterminada es PBIEgwService.

  • Directorio de registro: Unidad:\Windows\ServiceProfiles\ ServiceAccount \AppData\Local\Microsoft\Puerta de enlace de datos local
  • Directorio de almacenamiento de colas: Unidad:\Windows\ServiceProfiles\ ServiceAccount \AppData\Local\Microsoft\Puerta de enlace de datos local\Spooler

Pasos siguientes