none
Abrir/Fechar conexoes RRS feed

  • Pergunta

  • Pessoal,

    Considerando que eu tenha um site de 500.000 visitas/dia, o fato de abrir/fechar conexao no banco de dados é muito dispendioso pra performance ?

    Há um limite de conexoes que podem ser abertas simultaneamente ?

    Qual a melhor forma de se fazer isso ?

    Abracos

    sexta-feira, 14 de outubro de 2011 16:38

Respostas

  • Sim, existe um limite...esse limite é dado pelo seu pool do sql server 

    http://msdn.microsoft.com/pt-br/library/8xx3tyca(v=vs.80).aspx

     

    O processo de abertura de fechamento da conexão somente será custoso a aplicação quando ele requerer uma nova conexão ao POOL, depois disso o canal ficará aberto.

    Por padrão o POOL do SQL server liberá 100 conexões simultâneas. entenda que uma conexão, pode ser aberta e fechada várias vezes que ela irá consumir somente uma conexão dentro do pool, isso por que enquanto o contexto de conexão for o mesmo, ele não irá requisitar outra instância de conexão. 

    O cuidado principal, é sempre fechar as conexões após o seu uso. Um sistema que deixa conexões em aberto pode em minutos estourar o pool de conexões.

    A utilização de singleton em todas as classes que fazem conexão com o banco de dados também é uma boa garantia que poucas conexões irão acontecer simultaneamente. 


    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Twitter @Olavooneto
    Se for útil marque como resposta e faça um Developer feliz :)
    sexta-feira, 14 de outubro de 2011 16:47
    Moderador