Pooling de Conexões

Para tirar o máximo proveito do pooling de conexões, há algumas coisas a ter em mente ao desenvolver sua aplicação. Aprenda a evitar as armadilhas e a utilizar toda a potência do pooling de conexões.

A Wikipédia cita "Um pool de conexões é um cache de conexões de banco de dados mantido de modo que as conexões possam ser reutilizadas quando futuras requisições ao banco de dados forem necessárias. Pools de conexões são usados para melhorar a performance da execução de comandos em um banco de dados."

Melhora a performance

Abrir e manter uma conexão de banco de dados para cada usuário, especialmente requisições feitas a um website dinâmico impulsionado por banco de dados, é custoso e desperdiça recursos. No pooling de conexões, após uma conexão ser criada, ela é colocada no pool e é usada novamente, de modo que uma nova conexão não precisa ser estabelecida. Se todas as conexões estiverem sendo usadas, uma nova conexão é feita e adicionada ao pool. O pooling de conexões também reduz a quantidade de tempo que um usuário precisa esperar para estabelecer uma conexão com o banco de dados.

Como usar

O pooling de conexões é habilitado por padrão, mas há algumas coisas para lembrar para tirar o máximo proveito dele. Siga estes passos e seu impulso de performance no pooling de conexões acontecerá.

  • Tenha certeza de que suas conexões utilizam a mesma string de conexão toda vez. O pooling de conexões só funciona se a string de conexão for a mesma. Se a string de conexão for diferente, então uma nova conexão será aberta.
  • Apenas abra uma conexão quando você precisar dela, não antes.
  • Feche sua conexão assim que terminar de usá-la.
  • Não deixe uma conexão aberta se não estiver sendo usada.
  • Tenha certeza de descartar quaisquer objetos temporários antes de fechar uma conexão.
  • Tenha certeza de fechar quaisquer transações definidas pelo usuário antes de fechar uma conexão.
  • Não use funções de aplicativos se você quiser tirar vantagem do pooling de conexões.

Configuração

Vários parâmetros como número de conexões mínimas, conexões máximas e conexões ociosas podem ser definidos para garantir que o pool de conexões funcione bem de acordo com o ambiente em que está implantado para trabalhar. Também é possível desabilitar o pooling de conexões, o que pode ser útil em cenários de depuração.

Resumo

Certifique-se de seguir as regras básicas para um pooling de conexões eficaz e aumento da performance da aplicação.