как протестировать производительность загрузки данных в Power BI - PullRequest
1 голос
/ 10 июля 2020

Создание отчетов в Power BI выполняется в Power BI Desktop, установленном на рабочих станциях пользователей. Совместное использование отчетов в Power BI осуществляется в облачной службе Power BI (с общей или выделенной емкостью). Это означает, что во время создания отчета и совместного использования отчета доступны разные ресурсы (например, память, ЦП, диск), особенно для загрузки данных (ссылка на набор данных sh). Таким образом, кажется невозможным протестировать загрузку данных / производительность ETL отчета перед выпуском в производство (т. Е. Publi sh в облачной службе). И обычно скорость загрузки данных в облачной службе выше, чем в настольной. Поскольку мои отчеты содержат много данных и преобразований, загрузка данных в Desktop может занять много времени. Как я могу сделать ресурсы доступными для рабочего стола идентичными ресурсам в облачной службе, чтобы я мог сократить время загрузки данных на рабочем столе (во время разработки) и прогнозировать производительность в облачной службе?

Возможно, лучше вопрос, который нужно задать: должен ли я вообще это делать? То есть должен ли я пытаться предсказать (в Desktop) производительность refre sh отчета в облачной службе (и / или загрузить тома данных производственного уровня в Desktop во время разработки)?

1 Ответ

1 голос
/ 10 июля 2020

Microsoft не указывает, какое аппаратное обеспечение ЦП / память используется в службе Power BI. Это также общая служба, поэтому в одном кластере может быть размещено несколько клиентов Power BI. Они действительно упоминают, что вы можете страдать от проблем с шумным соседом, поэтому, если какой-то другой арендатор сильно ударит, ваша производительность может пострадать.

По опыту я знаю, что доступная память превышает 25 ГБ, поскольку запросы, которые имеют не работает на узлах Premium P1, работает нормально в службе. С выделенными узлами вы можете использовать отчеты администратора, чтобы узнать, что происходит в фоновом режиме, время запросов, refre sh время использования процессора / памяти.

При попытке выполнить тест производительности Desktop возникает несколько проблем. vs Сервис. Например, запрос SQL на рабочем столе будет выполняться дважды , первый для проверки структуры и данных, второй для получения данных. Этого не происходит, когда он развертывается в службе, поэтому в этом примере ваша загрузка будет быстрее.

Если вы обращаетесь к локальным данным, то на рабочем столе это будет быстрее, чем в службе, как вы Придется набрать go через шлюз. Также, если вы подключаетесь к базе данных Azure SQL, то соединения и пропускная способность между службами Azure будут немного быстрее при развертывании их в службе, чем подключение рабочего стола к службе Azure в качестве данные должны перемещаться за пределы центра обработки данных, чтобы добраться до вас.

Итак, для импорта наборов данных вы можете посмотреть на набор данных refre sh время начала и окончания и выяснить, сколько времени это заняло.

Для базового теста сгенерируйте 1 миллион строк данных, он не должен быть сложным. Несколько раз протестируйте время загрузки на настольном компьютере, чтобы получить среднее значение, разверните, а затем попробуйте в сервисе. Затем продолжайте добавлять 1 миллион строк, чтобы увидеть, существует ли взаимосвязь между объемом и затраченным временем.

Однако это не будет полным аналогом для аналогичного сравнения в зависимости от типа данных, местоположения и скорости сети , но он должен дать вам четкое представление о любом увеличении производительности, которое вы можете получить при использовании службы, чтобы сбалансировать скорость рабочего стола c со службой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...