Página JSP demora muito pra carregar as vezes

Reduzi minhas consultas,retirei campos que não precisavam e mesmo assim minha página demora mais de 20s pra carregar.E eu digo AS VEZES pois quando faço um href pra retornar a está página ele carrega rapidamente(em menos de 1s).Se fico em outra página ocioso por um tempo ao voltar esta página demora pra carregar.O que pode ser?? Alguém já passou por isso também?

O conteudo principal da minha página esta nessa div

<div>
                        <br><br>
                        <table class="pure-table" style="min-width: 98%;max-width: 98%;text-align: center">
                            <tr>
                                <th>Status</th>
                                <th>Código Garantia</th>
                                <th>Nota Fiscal</th>
                                <th>Cliente</th>
                                <th>Progresso</th>
                                <th>Prazo</th>
                                <th>Responsável</th>
                                    <c:if test="${S_USNIVEL >=2}">
                                    <th>Opção</th>
                                    </c:if>
                            </tr>

                            <c:forEach var="vl" items="${garantias.getRelatorioGarantias(param.dataini,param.datafim,param.codigo,param.nota,param.cliente,param.itensPag)}"> 
                                <tr>
                                    <td><img src="${vl.getSTATUS()[0]}" title="${vl.getSTATUS()[1]}"></td>
                                    <td>${vl.getCODGARANTIA()}<button class="btns-acao icon2-search4"  title="Mais Informações" method="POST" name="infonf" id="infonf" onclick="redirecionaitens('lista-itens-garantia.jsp?gar=', '${vl.ID_GARANTIA}', '${vl.SEGMENTO}')" ></button></td>
                                    <td>${vl.getNOTAFISCAL()}</td>
                                    <td>${vl.getCLIENTE()}</td>
                                    <td>${vl.getPROGRESSO()}%</td>
                                    <td>${vl.getDTPRAZO()}</td>
                                    <td>${vl.getRESPONSAVEL()}</td>
                                    <c:if test="${S_USNIVEL >=2}">
                                        <td><button class="btns-acao icon-pencil" id="btnEditGar" name="btnEditGar" title="Editar Garantia" onclick="abreEditarGar('${vl.ID_GARANTIA}', '${vl.CODGARANTIA}', '${vl.NOTAFISCAL}')"></button></td>
                                        </c:if>
                                </tr>
                            </c:forEach> 
                        </table> 
                    </div>

É difícil saber o motivo da página estar lenta. A primeira coisa que eu faria é verificar os loops da aplicação, depois o tempo dos acessos ao banco de dados, exemplo:

long inicio = System.currentTime();
List<Cliente> listaDeClientes = ClienteDAO.buscarPorNome(nome);
System.out.println("Buscar clientes por nome demorou: " + (System.currentTime() - inicio) + "ms");

Se possível, teste em outro computador e verifique se o mesmo problema ocorre

1 curtida

O motivo aparente é que vc está fazendo download de um arquivo muito grande, da uma olhada no waterfall da página a cor verde significa o tempo da resposta do server, está rápido, a cor azul significa que vc está fazendo download de recursos. recomendo ativar o ícone da camera no devtools fica bem na aba network na parte esquerda superior, isso mostra a renderização real da tela e ao invés de olhar teu código fonte na página faça o seguinte, clique com o botão direito na página e escolha view page source, isso mostra o conteúdo totalmente estático da página e compare isso com o conteúido real da página inspecionando seu documento HTML.

1 curtida

Descobri o que era galera,o motivo era conexão não fechada.Não uma,mas várias kkk praticamente todos os métodos utilizados na minha página não estavam fechando conexão.