Tempo aproximado para leitura: 00:03:00 min
Dúvida
Como realizar configuração de timeout em recursos do Smart View?
Ambiente
Cross Segmentos - TOTVS Backoffice (Linha RM) - RM BI - A partir da 12.1.2302
Solução
O Smart View não possui um limite definido de capacidade de processamento de dados, porém, à medida que a quantidade de dados aumenta, mais recursos computacionais (processador e memória) são exigidos. Assim, as limitações passam a ser exclusivamente do hardware disponível, e também dependem do tipo de recurso sendo visualizado, conforme listado abaixo:
- Relatórios : A geração de relatórios consome majoritariamente recursos (processador e memória) do Servidor do Smart View;
- Tabelas Dinâmicas e Visões de Dados: A Visualização de Tabelas e Visões consome majoritariamente recursos (processador e memória) da Estação Cliente , isto é, onde os dados estão sendo exibidos.
Isso significa que caso seja solicitada a geração de um relatório e, com base nos parâmetros ou filtros configurados, o Objeto de Negócio entregue um volume muito grande de dados, o Smart View pode consumir toda a memória disponível no servidor ou mesmo quebrar a aplicação por falta de memória disponível. Da mesma forma, uma visualização de uma Tabela Dinâmica ou uma Visão de Dados pode receber um volume de dados do Objeto de Negócio que a Estação Cliente não tem capacidade de renderizar em tela ou apresenta um desempenho muito ruim de navegação, ou mesmo após uma exibição não ser possível exportar para o Excel devido a limitações de memória.
Para evitar que situações como as expostas acima ocorram, foram definidos limites de coleta de dados no Smart View, os quais, em ambientes OnPremise, podem ser alterados. Quando o limite é atingido, a conexão de solicitação de dados do Objeto de Negócio é encerrada e o recurso é gerado/exibido com os dados recebidos.
Limites por Tipo de Recurso
A limitação é definida com base no tamanho, em KB, dos dados recebidos do Objeto de Negócio. Por padrão, o Smart View implementa os limites abaixo:
Relatórios : 1.000.000 KB (1GB)
Tabelas Dinâmicas e Visões de Dados: 500.000 KB (500MB)
Caso os limites sejam atingidos, será exibido um aviso na interface e também será registrado em log, conforme exemplo abaixo:
Configurando limites
No diretório raiz do Smart View, ex.: C:\TOTVS\smart-view, você deve localizar o arquivo appsettings.Production.json . Caso ele não exista, deve-se criá-lo.
SMART_VIEW_REPORT_GETDATALIMIT_KB : Valor em KB do limite de dados para geração de Relatórios;
SMART_VIEW_GETDATALIMIT_KB : Valor em KB do limite de dados para exibição de Tabelas Dinâmicas e Visões de Dados.
Abaixo um exemplo do conteúdo do arquivo appsettings.Production.json onde os valores dos limites foram alterados, respectivamente, para 1,5GB e 750MB:
Após incluir as configurações, para que elas sejam aplicadas, é necessário reiniciar o serviço do Agent , que por padrão é cadastrado no sistema operacional como SmartView.Agent.
Nativo
O conector nativo disponibiliza o endpoint GetData , que pode entregar um grande volume de dados. Como alguns ambientes demoram para processar e iniciar o envio da resposta, isso pode causar a expiração da conexão HTTP.
O ajuste do tempo padrão de espera é feito por meio de variável de ambiente SMART_VIEW_GETDATA_TIMEOUT que recebe um valor inteiro representando os minutos. O valor padrão dessa variável é de 5 minutos.
Como configurar a variável de ambiente
1 - Abra o menu Iniciar do Windows, pesquise por Editar as variáveis de ambiente do sistema e clique no botão Variáveis de Ambiente.
2 - Em Variáveis do Sistema, clique em Nova .
3 - Defina o Nome da variável como SMART_VIEW_GETDATA_TIMEOUT e o Valor com o tempo desejado em minutos, exemplo: 10.
4 - Clique em OK para salvar e reiniciar o serviço da aplicação.
Saiba mais
Para mais informações sobre estas configurações acesse Configurações de limites de dados e timeouts de conexões
0 Comentários