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 Supervisión 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 que puede actualizar según sea necesario:

  • ReportFilePath: determina la ruta donde se almacenan los tres 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 podrían 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.
Correcto 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/leen en el disco
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/s) Indica los bytes leídos por la puerta de enlace por segundo. DiskRead(byte/sec) = SpoolingTotalDataSize / SpoolingDiskReadingDuration
DiskWrite (byte/s) 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.

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 podrían ser consultas de Power Apps y Power Automate.
QueryText Consulta completa codificada en base64.

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.
Correcto 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 podrían 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 Contadores del sistema, que incluyen el uso de memoria y la CPU por parte de la puerta de enlace, el motor Mashup y, en general, por la máquina que aloja la 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.
Medio 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 con 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.

    Ventana emergente para la ruta de la carpeta.

  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 obtener más información, vea Publicar conjuntos de datos e informes desde Power BI Desktop.

También puede personalizar este archivo de plantilla para satisfacer sus necesidades. Para más información sobre 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 no se esté llenando.

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 actualizaciones de Power BI o consultas directas de bases de datos, como Power BI DirectQuery, 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 Registro adicional para recopilar información de registro adicional. Para hacer esto, en la aplicación de puerta de enlace de datos local, seleccione Diagnósticos > Registro adicional.

Activar el registro adicional.

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.

Cuando esta configuración está activada, se puede ver información adicional (contexto de la aplicación en el siguiente ejemplo) en los registros de la puerta de enlace que indica a qué conjunto de datos o informe pertenece esta consulta. Tenga en cuenta que no todos los servicios pueden enviar esta información en este momento y que estamos trabajando en las deficiencias conocidas.

QueryAdditionalInformation is: {
  "Application": "Dataset-Premium",
  "ObjectId": "6de5b524-8a04-4578-961d-e65b2bf3dcd4",
  "ApplicationContext": "{\"DatasetId\":\"6de5b524-8a04-4578-961d-ej67gdf3dcd4\",\"Sources\":[{\"ReportId\":\"e0cec7bc-f53d-4174-b551-678656fba\"}]}"
}.

Optimizar el rendimiento mediante la transmisión de datos

De forma predeterminada, la puerta de enlace de datos local pone en cola los datos antes de devolverlos al conjunto de datos, lo que puede provocar un rendimiento más lento durante las operaciones de carga y actualización de datos. El comportamiento predeterminado se puede invalidar.

  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 de servicio, reinicie la puerta de enlace.

Pasos siguientes

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).