Ah, a lentidão no Power BI Online durante o já conturbado fechamento mensal... Aquela maravilhosa sensação de esperar longos minutos para o relatório carregar e ver o dashboard travar a cada clique, enquanto você se pergunta se esse tal de Power BI é isso tudo mesmo que falam e busca mais um cafezinho antes do relatório carregar.
Mas não se preocupe, caro usuário do Power BI. Nós sabemos que a situação pode ser frustrante, mas há maneiras de lidar com a lentidão e garantir um fechamento mensal tranquilo e sem estresse. Então, vamos juntos desvendar os mistérios do Power BI Online e acabar com essa pegadinha.
Se a sua empresa utiliza a capacidade Premium do Power BI, muito provavelmente você já enfrentou a situação que descrevemos acima. Felizmente, este problema tem solução, e para resolvermos este problema precisamos entender quando a lentidão ocorre no sistema, como a capacidade premium interpreta o consumo e como identificar os principais relatórios causadores de sobrecarga.
Entendendo a Capacidade Premium
Esta é a tabela das opções de licenças por capacidade disponíveis para contratação. Se a sua empresa utiliza uma licença por capacidade, por exemplo a licença Premium P1, o que a sua empresa realmente contratou foi uma certa quantidade de processamento e de armazenamento em um servidor da Microsoft dedicado para a sua empresa.
Agora temos o ponto de partida: a capacidade da minha empresa tem um limite. A partir daqui você pode se perguntar duas coisas: O que afeta o consumo dessa capacidade? E o que acontece quando eu ultrapasso o limite contratado?
Respondendo a primeira pergunta. O uso dos recursos da capacidade são divididos em dois tipos: Operações interativas e operações de segundo plano. Dentro das operações interativas são considerados os consumos de visualização e interações com relatórios, leitura de XMLA endpoint, renderização de relatórios paginados e qualquer execução de dataflows que não sejam atualizações agendadas. Já, dentro das operações de segundo plano estão inclusas atualizações agendadas ou forçadas de datasets, atualizações agendadas de dataflows, processamento de IA, e chamadas de API para exportar um relatório para um arquivo.
Antes de responder a segunda pergunta, vamos entender como a capacidade lida com o consumo desses dois tipos de operações.
Como a capacidade avalia o consumo
O consumo da capacidade é contabilizado em ciclos de avaliação de 30s e a unidade de medida utilizada é CPU segundos (quando um CPU core é totalmente utilizado durante um segundo, isso é igual a 1 CPU segundos).
Utilizando a capacidade P1 como exemplo, temos na tabela que ela possui 8 v-cores contratados. O limite estabelecido para a capacidade é calculado a partir do número de v-cores multiplicado pelo tempo do ciclo de avaliação. No caso da capacidade P1, temos: 8 v-cores * 30s (ciclo de avaliação) = 240 CPU segundos.
Com este limite estabelecido, ainda precisamos saber que o consumo de CPU das atividades interativas são contabilizadas dentro do ciclo de avaliação em que foram executadas. Já as atividades de segundo plano são avaliadas levando em conta todas as operações que foram concluídas nas últimas 24 horas. Assim, cada operação em segundo plano contribui com apenas 1/2880 de seu custo total de CPU a cada ciclo de avaliação (2880 é o número de ciclos de avaliação em um período de 24 horas). Ou seja, o sistema faz um rateio do consumo das atividades de segundo plano.
Agora vem a ilustração! Neste exemplo temos duas atualizações agendadas identificadas por A e B. Suponhamos que a atualização A terá um consumo total de 14.400 CPU segundos (5 CPU segundos a cada ciclo de avaliação de 30s) e que a atualização B consumirá 5.760 CPU segundos (2 CPU segundos por ciclo). Agora suponha que o uso do ambiente na sua empresa comece as 9h da manhã e que - em um dia de não fechamento - o consumo está abaixo do limite contratado. Agora, identifique estes pontos citados na imagem abaixo. Perceba a linha tracejada representando o limite da capacidade, o consumo distribuído gerado pelas atualizações agendadas e em verde as operações interativas geradas pelos usuários da empresa.
Agora que você entendeu o que é o consumo da capacidade e como ele é avaliado, podemos finalmente responder à segunda pergunta.
Como a capacidade gerencia sobrecargas
Quando o consumo ultrapassa o limite da capacidade o sistema automaticamente entra no modo de atraso de solicitação interativa (interactive request delay mode). Neste modo o sistema atrasa requisições de modo artificial para dar tempo da capacidade finalizar outras tarefas sem derrubar o sistema, assim você, usuário do Power BI, experienciará lentidão mas ainda conseguirá realizar suas atividades. Por exemplo, se em um ciclo A a capacidade está sobrecarregada (solicitações acima da linha tracejada), todas as atividades do próximo ciclo de avaliação B serão atrasadas artificialmente.
Até agora entendemos como a capacidade premium interpreta o consumo e quando a lentidão ocorre no sistema. A partir daqui vamos entender as ferramentas que a própria Microsoft disponibiliza para identificarmos os principais relatórios causadores de sobrecarga e podermos analisar o consumo da nossa capacidade detalhadamente.
Monitorando o consumo e a sobrecarga da Capacidade
Para o monitoramento do consumo em diferentes níveis de granularidade utilizamos um template disponibilizado pela Microsoft chamado: Premium Capacity Utilization ad Metrics.
Atualmente o aplicativo mostra 14 dias de dados e permite analisar o consumo por workspaces e datasets (artifacts) e por consultas e atualizações (operations). Como sabemos que você já vem enfrentando lentidão no seu ambiente, iremos focar apenas na página Evidência, que só exibe dados quando a capacidade é sobrecarregada. A partir dela você conseguirá identificar os principais responsáveis pela sobrecarga do seu ambiente e otimizá-los.
Página Evidência
Apesar de esta não ser a primeira página do relatório, quando você já vem enfrentando lentidão no seu ambiente, é por aqui que você deve começar. Esta página só exibe dados quando a capacidade é sobrecarregada. Ela fornece informações sobre sobrecargas na sua capacidade e você pode identificar quais artefatos (relatórios, dashboards e conjuntos de dados) estão causando sobrecarga e depois otimizá-lo para reduzir o impacto na capacidade.
O visual Artefatos que causam sobrecarga (1) permite identificar os artefatos que causam sobrecarga, usando a linha do tempo. O valor mostrado é uma agregação da potência da CPU consumida por artefatos quando eles sobrecarregam a capacidade e é possível detalhar este visual por hora caso necessário.
O visual Itens que causam sobrecarga (2) é utilizado para identificar os artefatos que geram eventos de sobrecarga ponderados pelo impacto. A pontuação de sobrecarga de um artefato é obtida levando em conta a gravidade da sobrecarga e com que frequência o evento de sobrecarga ocorreu nos últimos 14 dias. Os artefatos com maiores pontuações são os que você deve otimizar primeiro.
O visual Janelas de sobrecarga (3) ajuda a entender se eventos de sobrecarga ocorrem devido a um único artefato do Power BI ou a muitos artefatos. Selecionando o botão “by artifact” cada um recebe uma cor diferente. É possível também acessar a página de TimePoint Detail clicando com o botão direito do mouse em um ponto de tempo sobrecarregado e selecionando a página TimePoint Detail no drill through.
Neste visual, cada coluna representa uma janela de 30 segundos em que o uso da CPU para a capacidade excedeu o limite contratado. Lembre-se que quando o consumo máximo é atingido, o atraso das requisições é aplicado às operações interativas na próxima janela de 30 segundos.
O visual Artefatos sobrecarregados (segundos) (4) nos mostra se a sobrecarga dos artefatos afeta apenas seu próprio desempenho ou se eles produzem um problema para todo o ambiente. A altura da coluna é proporcional à duração das operações sujeitas a penalidades de sobrecarga.
O visual Número de usuários sobrecarregados (5) é usado para entender o tamanho do impacto da sobrecarga a partir do número de usuários distintos afetados pela sobrecarga.
Conclusão
Neste artigo investigamos a fundo a Capacidade Premium em momentos de sobrecarga. Entendemos o que é uma licença por capacidade e o que ela oferece, como a capacidade premium interpreta o consumo e estabelece seus limites, entendemos quando a lentidão ocorre no sistema e como identificar os principais relatórios causadores de sobrecarga.
Espero que a partir desses passos você consiga otimizar o seu ambiente e vivencie um fechamento mensal com mais tranquilidade e menos tempo de espera da próxima vez. Obrigado por ter chegado até aqui e eu, e a Dataside, nos colocamos à disposição para conversarmos e ajudarmos você com esse processo. Até a próxima!