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

Marcelo Gondim gondim em bsdinfo.com.br
Quarta Julho 11 17:53:10 BRT 2012


Em 11/07/2012 17:18, Luiz Otavio O Souza escreveu:
> 2012/7/11 Antônio Pessoa <atnpessoa em gmail.com>:
>> 2012/7/11 Luiz Otavio O Souza <lists.br em gmail.com>
>>>
>>> Marcelo,
>>>
>>> Use o mesmo my.cnf nos dois servidores pois são as configurações que
>>> estão lá que determinam quanto cada thread (ou conexão) vai consumir.
>>>
>>> Att.,
>>> Luiz
>>
>> Ele já fez isso.
>>
> çey =)
>
>
> # The MySQL server
> [mysqld]
> bind-address    = 127.0.0.1
> port            = 3306
> socket          = /tmp/mysql.sock
> skip-locking
> key_buffer = 16K
> max_allowed_packet = 1M
> table_cache = 4
> sort_buffer_size = 64K
> read_buffer_size = 256K
> read_rnd_buffer_size = 256K
> net_buffer_length = 2K
> thread_stack = 64K
> skip-innodb
> #skip-networking
> server-id       = 1
> max_connection = 4000
>
>
>
> MEMORY USAGE
> Max Memory Ever Allocated : 1 M
> Configured Max Per-thread Buffers : 3.17 G
> Configured Max Global Buffers : 16 K
> Configured Max Memory Limit : 3.17 G
> Physical Memory : 1.99 G
>
> Max memory limit exceeds 90% of physical memory
>
>
> Claro que estoura o limite to meu pequeno servidor, mas com 12G ainda
> sobra algum espaço pra brincar.

O problema é que mesmo com 12Gb não sobra espaço.  :)  Se você fizer 
isso que você fez aí em um Linux, bem eu fiz num Debian, vai ver que vai 
sobrar muito mais que isso. rsrsrs
Você pode pegar a mesma conf aí em cima e socar nele que você vai ver.

>
> Agora a pergunta é, seu servidor realmente precisa aceitar 4000
> conexões simultaneas ? não convém dividir uma carga dessas ?

Não tem jeito. Faz idéia de um site de torrents fechado e grande? :)  
Nosso site tem quase 100mil users, mais de 400mil peers e pra lá de 
70mil torrents. Imagina uma pessoa compartilhando 30 torrents, isso por 
baixo. Quando esse cara abre o cliente de torrent dele, o mesmo conecta 
no site através do announce que faz uma série de updates e inserts na 
base de cada torrent dele que tem uma passkey dele. Agora você imagina a 
quantidade de gente fazendo esse acesso e mais ainda os acessos normais 
ao site.

Se fossem só selects o memcache faria a mágica. Hoje graças ao Leonardo 
com a idéia do memcache o site está muito mas muito mais rápido nas 
consultas porque implementamos o memcache mas os announces castigam a 
gente rsrsrsr. Tudo começou comigo tentando migrar o site para o 
FreeBSD, onde primeiramente peguei a mesma conf, o mesmo my.cnf e não 
rolava. No servidor antigo que era uma máquina bem inferior com apenas 
16Gb de ram rodava bem, já no novo com 24Gb de ram e usando a mesma conf 
dizia que não tinha ram suficiente. Foi aí que começou toda a bagaça.  :)

O restante só lendo a thread ahahah pq é muita coisa. rsrsrsrsr

>
> Isso é puramente uma questão de configuração do MySQL e não tem
> relação com o SO (FreeBSD).

Também achava isso na minha cabeça. Agora me explica então como na mesma 
máquina usando a mesma conf do mysql, obtive valores diferentes em SOs 
diferentes? Porque o que fiz apenas foi formatar a máquina, colocar o 
Debian, usar a mesma conf do mysql e pronto. No caso do freebsd além de 
informar um alto uso de ram com a mesma configuração do mysql, quando 
aumentava o uso das conexões já apresentava um erro de falta de memória.

Também quero encontrar uma solução para esse problema mas dizer que é 
apenas conf do mysql... isso tenho certeza, hoje, que não é. :)


Mais detalhes sobre a lista de discussão freebsd