Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

como funciona o pool de conexões ?

como funciona especificamente um pool de conexões por exemplo olhando pra uma aplicação consumindo um banco de dados, por exemplo se tiver vários usuários usando o banco de formas diferentes (um ta incluindo registros outro so lendo ) cada um ta com uma conexão ?

3 respostas
solução!

Oii Silva, tudo bem?

Independente se tiver vários usuários usando o banco de formas diferentes, o pool funciona da mesma forma para todos. E sim, cada uma tem uma conexão.

O pool de conexões é um cache de conexões de banco de dados que são compartilhadas e reutilizadas, basicamente. Isso é para melhorar o desempenho e a latência da conexão.

O pool funciona da seguinte forma:

Para realizar uma conexão com o banco de dados, a conexão geralmente é feita usando o protocolo TCP/IP. E esse abre e fecha de conexões gera um custo para aplicações web, onde possa ter um fluxo de muitas requisições constantes e cada uma delas vai gerar uma abertura e fechamento de uma nova conexão com o banco de dados. E para evitar isso, é usado o pool de conexões, onde mantém um determinado número de conexões sempre abertas e reusá-las quando necessário.

Espero ter ajudado. Qualquer coisa estou à disposição :D

uma situação, vamos dizer que tenha configurado na minha aplicação um pool de conexões com 10 e tenha ao mesmo tempo 11 usuarios consultado informação esse decimo primeiro não vai conseguir consultar ?? ou so ficaria so mas lento ???

Oi Silva,

Pool de conexão de 10 significa que você terá no máximo 10 conexões da sua aplicação para seu banco de dados, não significa número máximo de usuários que podem se conectar a sua aplicação simultaneamente.

Mesmo que muitos usuários usem sua aplicação ao mesmo tempo, isso não significa que todos eles usarão uma conexão com o banco de dados (por exemplo, inatividade, visualização de páginas estáticas, obtenção de dados de caches etc.).

Se o pool estiver totalmente esgotado, o próximo usuário ficará na fila até que uma conexão seja retornada ao pool.

Portanto, você pode adicionar um tempo limite para detectar esse tempo de fila, por exemplo, se em 5 a 10 segundos não retornar, suponha que o pool esteja cheio e redirecione o usuário para a página estática com uma mensagem dizendo que está cheio.

É interessante registrar este evento para que se você souber quando seu pool está cheio na maior parte do tempo, então é hora de aumentar a contagem máxima de conexões.

Espero ter ajudado. Qualquer coisa é só falar :)