Руководство по планированию емкости для Сервер отчетов Power BI

Сервер отчетов Power BI — это самостоятельное решение бизнес-аналитики и корпоративной отчетности, которое клиенты могут развертывать в локальной среде за брандмауэром. Он объединяет возможности интерактивного отчета Power BI Desktop с локальной платформой сервера SQL Server Reporting Services. При интенсивном и растущем использовании аналитики и отчетности в организациях бюджет инфраструктуры оборудования и программного обеспечения, необходимых для масштабирования корпоративной базы пользователей, может оказаться проблемой. В этом документе содержатся рекомендации по планированию емкости для Сервер отчетов Power BI путем совместного использования результатов многочисленных нагрузочных тестов различных рабочих нагрузок на сервере отчетов. Хотя отчеты, запросы и шаблоны использования организаций отличаются широко, результаты, представленные в этом документе, а также фактические тесты, используемые и подробное описание того, как они были выполнены, служат эталонной точкой для всех в процессе планирования на раннем этапе развертывания Сервер отчетов Power BI.

Аннотация

Мы выполнили два различных типа рабочих нагрузок в Сервер отчетов Power BI; каждая рабочая нагрузка состоит из отрисовки различных типов отчетов, а также выполнения различных операций веб-портала.

  • В рабочей нагрузке Power BI Report Heavy наиболее часто выполнялась операция (т. е. операция выполнялась 60 % времени) отрисовки отчетов Power BI.
  • В рабочей нагрузке "Тяжелый отчет с разбивкой на страницы" наиболее часто выполнялась операция отрисовки отчетов с разбивкой на страницы.

В топологии четырехсерверных Сервер отчетов Power BI и ожидании того, что не более 5% пользователей будут получать доступ к серверу отчетов в любое время, в следующей таблице описывается максимальное количество пользователей, Сервер отчетов Power BI может обрабатывать по крайней мере 99 % надежности.

Рабочая нагрузка 8 Core/32 ГБ ОЗУ 16 Core/64 ГБ ОЗУ
Power BI Report Heavy (>60%) 1000 пользователей 3000 пользователей
Отчет с разбивкой на страницы (RDL) Heavy (>60%) 2000 пользователей 3200 пользователей

В каждом запуске самый перегруженный ресурс был ЦП. Из-за этого увеличение числа ядер до Сервер отчетов Power BI приведет к повышению надежности системы, чем увеличение объема памяти или места на жестком диске.

Методология тестирования

Используемая топология тестирования основана на microsoft Azure Виртуальные машины вместо физического оборудования для конкретного поставщика. Все компьютеры размещены в регионах США. Это отражает общую тенденцию виртуализации оборудования как локальной, так и в общедоступном облаке.

топология Сервер отчетов Power BI

Развертывание Сервер отчетов Power BI состоит из следующих виртуальных машин:

  • контроллер домен Active Directory: это необходимо для SQL Server ядро СУБД, СЛУЖБ SQL Server Analysis Services и Сервер отчетов Power BI для безопасной проверки подлинности всех запросов.
  • SQL Server ядро СУБД и SQL Server Analysis Services: здесь мы храним все базы данных для отчетов, которые будут использоваться при их отрисовки.
  • Сервер отчетов Power BI
  • база данных Сервер отчетов Power BI. База данных сервера отчетов размещается на компьютере, отличном от Сервер отчетов Power BI, чтобы не нужно конкурировать с SQL Server ядро СУБД для памяти, ЦП, сети и дисковых ресурсов.

Diagram showing relationships between Power B I Report Server, Active Directory, and associated databases.

Подробные сведения о конфигурации каждой виртуальной машины, используемой в топологии, см. в приложении 1.1.1 Сервер отчетов Power BI и приложении 1.Сервер отчетов Power BI 2.

Тесты

Тесты, используемые в запусках нагрузочного теста, общедоступны в проекте GitHub под названием Reporting Services LoadTest. Это средство позволяет пользователям изучать производительность, надежность, масштабируемость и возможности восстановления служб SQL Server Reporting Services и Сервер отчетов Power BI. Этот проект состоит из четырех групп тестовых вариантов:

  • Тесты, имитация отрисовки отчетов Power BI,
  • Тесты, моделирующие отрисовку мобильных отчетов,
  • Тесты, имитация отрисовки небольших и больших отчетов с разбивкой на страницы и
  • Тесты, имитирующие выполнение различных типов операций веб-портала.

Все тесты были записаны для выполнения сквозной операции (например, отрисовки отчета, создания нового источника данных и т. д.). Они выполняют это, делая один или несколько веб-запросов к серверу отчетов (через API). В реальном мире пользователю может потребоваться выполнить несколько промежуточных операций, чтобы завершить одну из этих комплексных операций. Например, чтобы отобразить отчет, пользователю потребуется перейти на веб-портал, перейти к папке, в которой находится отчет, а затем щелкнуть отчет, чтобы отобразить его. Хотя тесты не выполняют все операции, необходимые для выполнения комплексной задачи, они по-прежнему накладывают большую часть нагрузки, которую Сервер отчетов Power BI будет испытывать. Дополнительные сведения о различных типах отчетов, используемых, а также о различных операциях, выполняемых с помощью изучения проекта GitHub.

Примечание.

Средство официально не поддерживается корпорацией Майкрософт, но группа продуктов вносит свой вклад в проект и отвечает на вопросы, возникающие другими участник.

Рабочие нагрузки

В тестировании используются два профиля рабочей нагрузки: Power BI Report Heavy и Report Heavy с разбивкой на страницы. В приведенной ниже таблице описывается распределение запросов, выполняемых на сервере отчетов.

Действие Отчет Power BI Heavy, частота вхождения Тяжелый отчет с разбивкой на страницы, частота вхождения
Визуализация отчетов Power BI 60 % 10%
Отрисовка отчетов с разбивкой на страницы (RDL) 30% 60 %
Отрисовка мобильных отчетов 5% 20%
Операции веб-портала 5% 10%

Загрузка пользователя

Для каждого тестового запуска тесты выполнялись на основе частоты, указанной в одной из двух рабочих нагрузок. Тесты, запущенные с 20 одновременных запросов пользователей к серверу отчетов. Затем нагрузка пользователя постепенно увеличивалась до тех пор, пока надежность не упала ниже целевой цели на 99 %.

Результаты

Одновременная емкость пользователя

Как упоминалось ранее, тесты начались с 20 одновременных пользователей, выполняющих запросы к серверу отчетов. Затем число одновременных пользователей постепенно увеличилось до тех пор, пока не произошло сбой 1% всех запросов. Результаты в следующей таблице сообщают нам количество одновременных запросов пользователей, которые сервер сможет обрабатывать при пиковой нагрузке с частотой сбоев менее 1%.

Рабочая нагрузка 8 Core/32 ГБ 16 Core/64 ГБ
Тяжелый отчет Power BI 50 одновременных пользователей 150 одновременных пользователей
Тяжелый отчет с разбивкой на страницы 100 одновременных пользователей 160 одновременных пользователей

Общая емкость пользователя

В Корпорации Майкрософт у нас есть производственное развертывание Сервер отчетов Power BI, которые использовали несколько команд. При анализе фактического использования этой среды мы наблюдаем, что число одновременных пользователей в любое время (даже во время ежедневной пиковой нагрузки) не превышает 5% от общей базы пользователей. Используя это соотношение параллелизма на 5 % в качестве теста, мы экстраполировали общую базу пользователей Сервер отчетов Power BI могли обрабатываться с 99 % надежности.

Рабочая нагрузка 8 Core/32 ГБ 16 Core/64 ГБ
Тяжелый отчет Power BI 1000 пользователей 3000 пользователей
Тяжелый отчет с разбивкой на страницы 2000 пользователей 3200 пользователей

Итоги

Для каждого запуска нагрузочного теста ЦП был самым перегруженным ресурсом в точке пиковой нагрузки на компьютере Сервер отчетов Power BI. Из-за этого первый ресурс, который следует увеличить, — это число ядер. Кроме того, можно рассмотреть возможность масштабирования, добавив в топологию дополнительные серверы, на которые размещаются Сервер отчетов Power BI.

Результаты, представленные в этом документе, были получены от выполнения определенного набора отчетов, потребляющего определенный набор данных, повторяющихся определенным образом. Это полезная эталонная точка, но помните, что использование будет зависеть от ваших отчетов, запросов, шаблонов использования и развертывания Сервер отчетов Power BI.

Приложение

1 Топология

Топология 1.1 Сервер отчетов Power BI

Чтобы сосредоточиться исключительно на Сервер отчетов Power BI поведения в разных конфигурациях, конфигурация виртуальной машины для каждого типа компьютера (за исключением Сервер отчетов Power BI компьютера) была исправлена. Каждый компьютер был подготовлен согласно компьютерам серии D второго поколения (версии 2) с хранилище класса Premium дисками. Подробные сведения о каждом размере виртуальной машины можно найти в разделе "Общего назначения".

Тип виртуальной машины Процессор Память Размер виртуальной машины Azure
Контроллер домен Active Directory 2 ядра 7 ГБ Standard_DS2_v2
SQL Server ядро СУБД и службы Analysis Services 16 ядер 56 ГБ Standard_DS5_v2
База данных сервера отчетов 16 ядер 56 ГБ Standard_DS5_v2

1.2 Сервер отчетов Power BI конфигурация виртуальной машины

Для размещения виртуальных машин Сервер отчетов Power BI использовались различные конфигурации процессора и памяти. В отличие от других виртуальных машин, этот компьютер был подготовлен в соответствии с компьютерами серии D третьего поколения (версии 3) с хранилище класса Premium дисками. Подробные сведения об этом размере виртуальной машины см. в разделе "Общего назначения"

Виртуальная машина Процессор Память Размер виртуальной машины Azure
Сервер отчетов Power BI (небольшой) 8 ядер 32 Гб Standard_D8S_v3
Сервер отчетов Power BI (большой) 16 ядер 64 ГБ vStandard_D16S_v3

2 Запуск средства LoadTest

Если вы хотите запустить средство LoadTest служб Reporting Services для развертывания Сервер отчетов Power BI Microsoft Azure, выполните следующие действия.

  1. Клонируйте проект LoadTest служб Reporting Services из GitHub (https://github.com/Microsoft/Reporting-Services-LoadTest).
  2. В каталоге проекта вы найдете файл решения с именем RSLoadTests.sln. Откройте этот файл в Visual Studio 2015 или более поздней версии.
  3. Определите, следует ли запускать это средство для развертывания Сервер отчетов Power BI или развертывания Сервер отчетов Power BI в Microsoft Azure. Если вы собираетесь запустить его в собственном развертывании, перейдите к шагу 5.
  4. Следуйте приведенным https://github.com/Microsoft/Reporting-Services-LoadTest#create-a-sql-server-reporting-services-load-environment-in-azure ниже инструкциям, чтобы создать среду Сервер отчетов Power BI в Azure.
  5. Завершив развертывание среды, следуйте приведенным https://github.com/Microsoft/Reporting-Services-LoadTest#load-test-execution ниже инструкциям, чтобы выполнить тесты.

Есть еще вопросы? Задайте их в сообществе Power BI.