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

Marcelo Gondim gondim em bsdinfo.com.br
Quarta Julho 11 14:11:32 BRT 2012


Em 11/07/2012 13:55, Marcelo Gondim escreveu:
> Em 11/07/2012 11:50, Leonardo Augusto escreveu:
>> hehe isso do mysql ta virando pessoal ja.
>> vamos dar um jeito nisso.
> não é? rsrsrsr
>
>> eu so nao posso fazer mais testes em funcao da minha condicao de deitado
>> temporariamenre.
>>
>> passa as configs do kernel e o my.cnf que usou, o sysctl -a grep kern tb e
>> interessante.
> Pra testar eu peguei  my-huge mesmo e só adicionei o max_connections sem
> acessos à base. Só pra efeito de teste mesmo. Agora o do Linux que tá em
> produção é esse aqui:
>
> [mysqld]
> open-files-limit = 200000
> user            = mysql
> pid-file        = /var/run/mysqld/mysqld.pid
> socket          = /var/run/mysqld/mysqld.sock
> port            = 3306
> basedir         = /usr
> datadir         = /var/lib/mysql
> tmpdir          = /tmp
> language        = /usr/share/mysql/english
> skip-external-locking
> bind-address            = 127.0.0.1
> low_priority_updates    = 1
> concurrent_insert       = 2
> key_buffer_size         = 2G
> max_allowed_packet      = 512M
> thread_stack            = 512K
> thread_cache_size       = 128
> myisam-recover         = BACKUP
> max_connections        = 4000
> table_cache            = 5000
> thread_concurrency     = 24
> query_cache_limit       = 16M
> query_cache_size        = 128M
> expire_logs_days        = 10
> max_binlog_size         = 100M

Esqueci de colocar o resultado dele:

MEMORY USAGE
Max Memory Ever Allocated : 10.10 G
Configured Max Per-thread Buffers : 11.71 G
Configured Max Global Buffers : 2.13 G
Configured Max Memory Limit : 13.85 G
Physical Memory : 23.53 G
Max memory limit seem to be within acceptable norms

Fico impressionado é que com 4000 ele usa bem menos memória que no 
FreeBSD. 11.71G e 13.85G



>
>> acho que tem muita gente aqui que tem interesse no caso e com condicoes de
>> ajudar.
>>
>> sera que nao tem a ver com o tipo do scheduke usado? ja testou com is dois
>> tipos?
> Estou usando o ULE mas você acha que ficaria melhor o 4BSD?
>
> # SCHED_4BSD is the historical, proven, BSD scheduler.  It has a global run
> # queue and no CPU affinity which makes it suboptimal for SMP.  It has very
> # good interactivity and priority selection.
>
> # SCHED_ULE provides significant performance advantages over 4BSD on many
> # workloads on SMP machines.  It supports cpu-affinity, per-cpu runqueues
> # and scheduler locks.  It also has a stronger notion of interactivity
> # which leads to better responsiveness even on uniprocessor machines.  This
> # is the default scheduler.
>
> Teoricamente o ULE seria melhor ao meu ver.
>
>> faz o teste de rodar o binario do linux no bsd. e so baixar o tgz e rodar
>> via um comando la de emulacao de linux que nao lembro agora.
>>
>> quando eu ficar bom, vou pegar um dell quad com raid e 8g que ta parado e
>> vou instalar esse 8 ou 9 pra testar
> Show vamos desbagaçar esse pepino hahahahaha
>
>> ate la so posdo dar palpite, hehe
>> Em 11/07/2012 10:37, "Marcelo Gondim" <gondim em bsdinfo.com.br> escreveu:
> Cara o memcache já foi um puta palpite que hoje em dia tá muiiiito bom
> lá no site. O site que tem a quantidade de acessos, mais de 400mil
> peers, quase 100mil users, pra mais de 70.000 torrents e as páginas de
> consulta estão sendo geradas em 0,00... segundos. Valeu pela dica e
> consegui convencer o programador à implementar. rsrsrs
>
>>> Pessoal,
>>>
>>> Peguei uma base mysql rodando no FreeBSD e setei o max_connection para
>>> 4000. Tenho 12Gb de ram nessa máquina que fiz o teste, meu i7. :)  após
>>> rodar o tuning-primer o memory usage simplesmente estoura. Conforme abaixo:
>>>
>>> MEMORY USAGE
>>> Max Memory Ever Allocated : 438 M
>>> Configured Max Per-thread Buffers : 48.46 G
>>> Configured Max Global Buffers : 426 M
>>> Configured Max Memory Limit : 48.87 G
>>> Physical Memory : 13.00 G
>>>
>>> Max memory limit exceeds 90% of physical memory
>>>
>>> Valores até 1000 eu consegui no FreeBSD, sem estourar, mas ocupava
>>> bastante ram mesmo assim.
>>> Quando eu faço a mesma coisa em uma máquina equivalente, com mais
>>> memória, só que com Linux, usando os 4000 em max_connections a coisa
>>> fica boa conforme abaixo:
>>>
>>> MEMORY USAGE
>>> Max Memory Ever Allocated : 10.10 G
>>> Configured Max Per-thread Buffers : 11.71 G
>>> Configured Max Global Buffers : 2.13 G
>>> Configured Max Memory Limit : 13.85 G
>>> Physical Memory : 23.53 G
>>> Max memory limit seem to be within acceptable norms
>>>
>>> Reparem que no caso do Linux o "Configured Max Per-thread Buffers" e o
>>> "Configured Max Memory Limit" não estouraram a ram disponível. O que
>>> poderia estar causando isso no FreeBSD? Já procurei em tudo quanto foi
>>> lugar pra tentar resolver e a única coisa que eu havia visto é que no
>>> Linux suportaria as 4000 conexões mas em outras plataformas não.
>>>
>>> Quem puder fazer esses testes e comprovar é só dizer.  :)
>>> -------------------------
>>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>>
>> -------------------------
>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>
>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>




Mais detalhes sobre a lista de discussão freebsd