Ao abrir uma rotina MVC - Modelo X com muitos elementos - 3 Grids, 1 Enchoice, botões para usar em 2 grids, mensagem de rodapé leva cerca de 9 segs. No segundo acesso é de 6 segs.
Seria possível melhorar o desempenho de abertura de rotinas MVC para cerca de 2 segs?
Já foi utilizado Caches SetCacheView(.T.) no FwMBrowse da tela principal. E no model já foi utilizado SetOnDemand().
Tabelas Envolvidas já possuem índices adequados, porém no caso as tabelas envolvidas estão quase vazias (Não se trata de volume de dados nas tabelas).
O que seria mais adequado observar e avaliar? A única maneira de melhorar o desempenho é remover campos e objetos da Tela MVC?
Ambiente Avaliado: ORACLE 19C, Binários Atualizados, Release 2310 (Dicionário no BD), Usando VPN FortClient, Internet de 600Mpbs, Ping Médio de 22ms, Latência SmartClient x AppServer 31/32 ms (Medido pela função ADVPL Ping() ).
Tirando o aspecto de infraestrutura (BD, Servidores, Rede, VPN), pela linguagem existe algo que poderia ser feito?
Esse sistema é local ?
— Lucas de Paulo Santos 11 de Mar de 2024É um ambiente acessado via Rede/Internet através VPN FortClient.
Algo que foi percebido: Usando o SmartClient HTML os tempos melhoraram bastante, conseguindo chegar a 2 segs ou menos na abertura da Tela MVC.
Conclusão: Acho que tem a ver com a infra de rede o baixo desempenho.
— Carlos Eduardo Niemeyer Rodrigues 12 de Mar de 2024Exato, Seu sistema está Sobre dimensionado, o cabeamento local, portas deste switch que conecta nos computadores. Não tenho experiência com Sistema Web.
— Lucas de Paulo Santos 13 de Mar de 2024Post Vinculado a esse Post (Acabou ficando duplicado) https://devforum.totvs.com.br/4464-baixa-performance-abertura-de-rotinas-mvc
— Carlos Eduardo Niemeyer Rodrigues 13 de Mar de 2024Lucas, obrigado pelo retorno! Acredito que realmente tem a ver com questões de infra mesmo. Eles também tem uma lição de casa para fazer. Fizemos testes no SmartClient HTML e a mesma tela chegou abrir em menos de 2 segs. Esperava o mesmo no SmartClient Desktop. Minha dúvida era saber se haveria mais alguma coisa que os Devs poderiam atuar, lembrando que o problema é lentidão na abertura de telas (Parte Gráfica).
— Carlos Eduardo Niemeyer Rodrigues 13 de Mar de 2024Realmente esse problema de lentidão nas telas MVC eu também observei, é algo geral do MVC, qualquer tela com mais elementos fica bastante pesada para carregar, e se for complexa com 4, 5, 6 ou mais elementos de dados então leva uns 10 seg para carregar. Isso piora absurdamente com conexões mais lentas, parece ser algo que sobrecarrega a comunicação entre o smartclient e o servidor, não é um problema de performance da aplicação em si, algo de comunicação, vejo muito espaço para melhorar esse problema, alguma otimização na comunicação entre o servidor e o client deve reduzir muito esse problema.
— Cirilo Rocha 16 de Mar de 2024