[FUG-BR] Diferença absurda do mysql no Linux para o do FreeBSD [RESOLVIDO]

William Grzybowski william88 em gmail.com
Quinta Julho 12 10:57:10 BRT 2012


2012/7/12 Marcelo Gondim <gondim em bsdinfo.com.br>:
> Em 12/07/2012 10:38, NullCk escreveu:
>> Olá Marcelo,
>>
>> Agora estou curioso, porque você utiliza esse valor enorme para max connections  ?
>> sua aplicação exige isso  ? o desenvolvedor pode passar a usar pool de conexões, tarefa simples para fazer no PHP.
>
> Pior que exige porque é um site de torrents e são muitas conexões por
> causa do announce de cada cliente torrent de cada user nosso pelo mundão
> à fora.
> Mas com o memcache e umas alterações no sistema a gente conseguiu cair
> isso pra menos de 3000.  :)

Acho que o NullCK tocou em um ponto importante...
Você precisa desse número de conexões porque a tua aplicação está se
conectando direto ao MySQL, sem nenhuma camada adicional.
Isso significa que a cada hit/acesso resultará em acesso ao banco de
dados (não contando com o memcache aqui).

Utilizando um pool the conexoes você pode limitar o número de conexões
simultanes ao teu servidor MySQL, além de reusar conexões.
Digamos 1000, e assim que um cliente libera a conexão ela é entregue
para outro na fila.

Vale lembrar que quanto maior a concorrência, mais demorado é para
atender todos ao mesmo tempo, por causa de compartilhamento de
recursos, locks em threads, table locks etc etc etc...
Então no final pode ser mais vantajoso como resultado utilizar um pool
do que sobrecarregar teu MySQL com tantas conexoes simultaneas
(deixando alguns clientes em hold por alguns instantes)

Posso estar errado, mas enfim, meus 2 cents ;)



-- 
William Grzybowski
------------------------------------------
Agência Livre - www.agencialivre.com.br
Curitiba/PR - Brasil


Mais detalhes sobre a lista de discussão freebsd