Desempenho ruim em programa em Java com acesso a banco de dados remoto

9 respostas Resolvido
sqljavaprogramaçãomysql
VinyciusCS

Olá, desenvolvi um programa no qual ele usa um banco de dados, fazendo conexão remota, porém ele demora de 4 a 7 segundos para abrir uma tela que tenha consulta no banco de dados e em quanto não abrir ele fica “travado”, como posso fazer com que ele não demore tanto?

9 Respostas

javaflex

Se a aplicação não estiver na mesma rede local, esquece acesso remoto, cria um web service.

j-menezes

Precisa ver o volume do que esta sendo requisitado pela rede externa.
A velocidade da rede.
E o programa Java.
Se tem muitas requisições simultâneas no banco e como esta o consumo da memoria, as grandes consultas lotam a memoria e fica lento o retorno.
Isso é facil testar, coloca o programa com o banco na rede interna.

Se permanecer demorando algo que considera fora do normal pode ser o programa ou mesmo o volume da consulta no banco de dados, as vezes é preciso paginar o retorno das grandes consultas.

VinyciusCS

Na rede interna ele flui bem, o problema é quando é hospedado mesmo.

javaflex

Pois é, esse é o problema. Trabalhe com web service ou faz o negócio direito de uma vez, migrando tudo pra web.

j-menezes

Realmente, tem coisa errada ai.
Fica dificil assim , sem saber dos detalhes internos.

Mas, em quantas camadas funciona seu programa ?

  1. Tem um servidor e esta ligado com o banco de dados ?
  2. No Servidor tem pool de conexão ?
  3. São muitas conexões simultâneas ?
  4. Usa RMI ?
Dragoon

O de ser remoto não é o problema, talvez o problema está na sua programação, na quantidade de registros retornados, na infra-estrutura de rede e servidor externo, tudo isso somando pode trazer um prejuizo …

Tenho desenvolvimento assim e não é lerdo não, também Azure é bem rápido.

Lucas_Camara

Voce consegue medir qto tempo é gasto para uma conexão ser estabelecida com esse banco de dados remoto?

VinyciusCS
Solucao aceita

Irei ver com outras hospedagens, pois entrei em contato com a que estou utilizando atualmente, e disseram que não é recomendada para essa utilização, mesmo assim obrigado!

javaflex

Além desse problema, você expõe seu banco de dados diretamente na internet se não tiver controle do firewall desse servidor de hospedagem, para aceitar somente a rede da sua empresa. É uma grande falha de segurança.

Criado 13 de fevereiro de 2020
Ultima resposta 17 de fev. de 2020
Respostas 9
Participantes 5