Compartir a través de


Guía de planeamiento de capacidad para Power BI Report Server

Power BI Report Server es una solución de informes empresariales y bi de autoservicio que los clientes pueden implementar en su entorno local, detrás de su firewall. Combina la funcionalidad de informe interactivo de Power BI Desktop con la plataforma de servidor local de SQL Server Reporting Services. Con un uso intensivo y creciente de análisis e informes dentro de las empresas, la presupuestación de la infraestructura de hardware y las licencias de software necesarias para escalar a una base de usuarios empresariales puede ser un desafío. Este documento pretende ofrecer instrucciones sobre el planeamiento de la capacidad de Power BI Report Server mediante el uso compartido de los resultados de numerosas ejecuciones de pruebas de carga en un servidor de informes. Aunque los informes, las consultas y los patrones de uso de las organizaciones varían ampliamente, los resultados presentados en este documento, junto con las pruebas reales usadas y una descripción detallada de cómo se ejecutaron, sirven como punto de referencia para cualquier persona en el proceso de planeamiento en fase temprana de la implementación de Power BI Report Server.

Resumen Ejecutivo

Ejecutamos dos tipos diferentes de cargas de trabajo en Power BI Report Server; cada carga de trabajo consta de representación de diferentes tipos de informes, así como de realizar diversas operaciones del portal web.

  • En la carga de trabajo "Power BI Report Heavy", la operación ejecutada con más frecuencia (es decir, la operación ejecutada el 60% del tiempo) fue renderizar informes de Power BI.
  • En la carga de trabajo "Paginated Report Heavy", la operación ejecutada con más frecuencia era representar informes paginados.

En una topología de cuatro servidores de Power BI Report Server y la expectativa de que no más de 5% de usuarios accedan a un servidor de informes en cualquier momento, en la tabla siguiente se describe el número máximo de usuarios que Power BI Report Server puede controlar con al menos 99% confiabilidad.

Carga de trabajo 8 NÚCLEOS/32 GB de RAM 16 NÚCLEOS/64 GB de RAM
Power BI Report Heavy (>60%) 1000 usuarios 3000 usuarios
Informe paginado (RDL) pesado (>60%) 2000 usuarios 3.200 usuarios

En cada ejecución, el recurso más abrumado era la CPU. Debido a esto, aumentar el número de núcleos a Power BI Report Server produciría una mayor ganancia en la confiabilidad del sistema que aumentar la cantidad de memoria o espacio en disco duro.

Metodología de prueba

La topología de prueba usada se basaba en Microsoft Azure Virtual Machines en lugar de hardware físico específico del proveedor. Todas las máquinas se hospedaban en regiones de EE. UU. Esto refleja la tendencia general de la virtualización de hardware tanto local como en la nube pública.

Topología del servidor de informes de Power BI

La implementación de Power BI Report Server consta de las siguientes máquinas virtuales:

  • Controlador de dominio de Active Directory: el motor de base de datos de SQL Server, SQL Server Analysis Services y Power BI Report Server lo necesitaba para autenticar de forma segura todas las solicitudes.
  • Motor de base de datos SQL Server y SQL Server Analysis Services: aquí es donde almacenamos todas las bases de datos para que los informes las consuman cuando los rendimos.
  • Servidor de informes de Power BI
  • Base de datos del servidor de informes de Power BI. La base de datos del servidor de informes se hospeda en una máquina diferente de Power BI Report Server para que no tenga que competir con el motor de base de datos de SQL Server para los recursos de memoria, CPU, red y disco.

Captura de pantalla que muestra el diagrama de relaciones entre Power BI Report Server, Active Directory y las bases de datos asociadas.

Consulte el Apéndice 1.1 Topología del servidor de informes de Power BI y Configuración de máquinas virtuales del servidor de informes de Power BI 1.2 para obtener una configuración exhaustiva de cada máquina virtual que se usa en la topología.

Pruebas

Las pruebas utilizadas en las ejecuciones de pruebas de carga están disponibles públicamente en un proyecto de GitHub llamado Reporting Services LoadTest. Esta herramienta permite a los usuarios estudiar las características de rendimiento, confiabilidad, escalabilidad y capacidad de recuperación de SQL Server Reporting Services y Power BI Report Server. Este proyecto consta de cuatro grupos de casos de prueba:

  • Pruebas que simulan la representación de informes de Power BI,
  • Pruebas que simulan la representación de informes móviles,
  • Pruebas que simulan la representación de informes paginados pequeños y grandes, y
  • Pruebas que simulan la realización de varios tipos de operaciones del portal web.

Todas las pruebas se escribieron para realizar una operación de un extremo a otro (como representar un informe, crear un nuevo origen de datos, etc.). Para ello, realizan una o varias solicitudes web al servidor de informes (a través de API). En el mundo real, es posible que un usuario tenga que realizar algunas operaciones intermedias para completar una de estas operaciones de un extremo a otro. Por ejemplo, para representar un informe, un usuario tendrá que ir al portal web, vaya a la carpeta donde está el informe y, a continuación, haga clic en el informe para representarlo. Aunque las pruebas no realizan todas las operaciones necesarias para realizar una tarea de un extremo a otro, siguen imponiendo la mayor parte de la carga que experimentaría Power BI Report Server. Puede obtener más información sobre los diferentes tipos de informes usados, así como la variedad de operaciones realizadas mediante la exploración del proyecto de GitHub.

Nota:

La herramienta no está oficialmente respaldada por Microsoft, pero el equipo de producto contribuye al proyecto y responde a las inquietudes planteadas por otros colaboradores.

Carga de trabajo

Hay 2 perfiles de carga de trabajo que se usan en las pruebas: Power BI Report Heavy y Paginated Report Heavy. En la tabla siguiente se describe la distribución de las solicitudes ejecutadas en el servidor de informes.

Activity Informe de Power BI pesado, frecuencia de repetición Informe paginado pesado, frecuencia de repetición
Representación de informes de Power BI 60% 10 %
Representación de informes paginados (RDL) 30% 60%
Representación de informes móviles 5 % 20 %
Operaciones del portal web 5 % 10 %

Carga del usuario

Para cada ejecución de pruebas, las pruebas se ejecutaron en función de la frecuencia especificada en una de las dos cargas de trabajo. Las pruebas comenzaron con 20 solicitudes simultáneas de usuario al servidor de informes. La carga de usuario se incrementó gradualmente hasta que la confiabilidad cayó por debajo del objetivo del 99%.

Results

Capacidad de usuario simultánea

Como se indicó anteriormente, las pruebas comenzaron con 20 usuarios simultáneos que realizan solicitudes al servidor de informes. El número de usuarios simultáneos se incrementó gradualmente hasta que se produjo un error en 1% de todas las solicitudes. Los resultados de la tabla siguiente indican el número de solicitudes de usuario simultáneas que el servidor podría controlar bajo carga máxima con una tasa de error inferior a 1%.

Carga de trabajo 8 Núcleos/32 GB 16 Núcleos/64 GB
Informe de Power BI pesado 50 usuarios simultáneos 150 usuarios simultáneos
Informe paginado pesado 100 usuarios simultáneos 160 usuarios simultáneos

Capacidad total del usuario

En Microsoft, tenemos una implementación de producción de Power BI Report Server que usaron varios equipos. Cuando analizamos el uso real de este entorno, observamos que el número de usuarios simultáneos en cualquier momento dado (incluso durante la carga máxima diaria) no tiende a superar los 5% de la base de usuarios total. Con esta relación de simultaneidad de 5% como prueba comparativa, hemos extrapolado el total de la base de usuarios que Power BI Report Server podría controlar con una confiabilidad de 99%.

Carga de trabajo 8 Núcleos/32 GB 16 Núcleos/64 GB
Informe de Power BI pesado 1000 usuarios 3000 usuarios
Informe paginado pesado 2000 usuarios 3.200 usuarios

Resumen

Para cada ejecución de prueba de carga, la CPU era el recurso más sobrecargado en el momento de carga máxima en la máquina del servidor de informes de Power BI. Debido a esto, el primer recurso que se debe aumentar es el número de núcleos. Como alternativa, puede considerar la posibilidad de escalar horizontalmente agregando más servidores que hospedan Power BI Report Server en la topología.

Los resultados presentados en este documento se derivaron de ejecutar un conjunto específico de informes que consumen un conjunto específico de datos, repetidos de forma específica. Es un punto de referencia útil, pero tenga en cuenta que el uso dependerá de los informes, las consultas, los patrones de uso y la implementación del servidor de informes de Power BI.

Apéndice

1 Topología

1.1 Topología del servidor de informes de Power BI

Para centrarse únicamente en el comportamiento del servidor de informes de Power BI en configuraciones diferentes, se corrigió la configuración de máquina virtual para cada tipo de máquina (excepto para la máquina que hospeda Power BI Report Server). Cada máquina se aprovisionó según las máquinas de la serie D de segunda generación (v2) con discos de Premium Storage. Puede encontrar información detallada sobre cada tamaño de máquina virtual en la sección "Uso general".

Tipo de máquina virtual Procesador Memoria Tamaño de máquina virtual de Azure
Controlador de dominio de Active Directory 2 núcleos 7 GB Standard_DS2_v2
Motor de base de datos de SQL Server y Analysis Services 16 núcleos 56 GB Standard_DS5_v2
Base de datos del servidor de informes 16 núcleos 56 GB Standard_DS5_v2

1.2 Configuración de máquinas virtuales del servidor de informes de Power BI

Se usaron diferentes configuraciones de procesador y memoria para la máquina virtual que hospeda Power BI Report Server. A diferencia de las otras máquinas virtuales, esta máquina se aprovisionó según las máquinas de la serie D de tercera generación (v3) con discos de Premium Storage. Puede encontrar información detallada sobre este tamaño de máquina virtual en la sección "Uso general".

Máquina virtual Procesador Memoria Tamaño de máquina virtual de Azure
Servidor de informes de Power BI (pequeño) 8 núcleos 32 GB Standard_D8S_v3
Servidor de informes de Power BI (grande) 16 núcleos 64 GB vStandard_D16S_v3

2 Ejecutar la herramienta LoadTest

Si desea ejecutar la herramienta LoadTest de Reporting Services en su o una implementación de Microsoft Azure de Power BI Report Server, siga estos pasos.

  1. Clona el proyecto LoadTest de Reporting Services desde GitHub (https://github.com/Microsoft/Reporting-Services-LoadTest).
  2. En el directorio del proyecto, encontrará un archivo de solución denominado RSLoadTests.sln. Abra este archivo en Visual Studio 2015 o posterior.
  3. Determine si desea ejecutar esta herramienta en la implementación de Power BI Report Server o en una implementación de Power BI Report Server en Microsoft Azure. Si va a ejecutarlo en su propia implementación, vaya al paso 5.
  4. Siga las instrucciones que aparecen en https://github.com/Microsoft/Reporting-Services-LoadTest#create-a-sql-server-reporting-services-load-environment-in-azure para crear un entorno de Power BI Report Server en Azure.
  5. Una vez que termine de implementar el entorno, siga las instrucciones que se indican en https://github.com/Microsoft/Reporting-Services-LoadTest#load-test-execution para ejecutar las pruebas.

¿Más preguntas? Pruebe a preguntar a la comunidad de Power BI