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

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?

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

1 curtida

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.

1 curtida

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

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

1 curtida

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 ?
1 curtida

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.

1 curtida

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

1 curtida

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!

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.

1 curtida