Em 11/07/2012 11:49, Edson Brandi escreveu: > Em 11 de julho de 2012 10:36, Marcelo Gondim <gon...@bsdinfo.com.br> escreveu: >> 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. :) > Marcelo, > > Antes de palpitar, me diga uma coisa... > > O seu FreeBSD roda em 32 ou 64 Bits? O seu mysqld é 32 ou 64 bits?
Opa Edson blz? 64 bits. Tudo compilado, nada instalado por pacote. Toda instalação feita via ports em amd64. :) > > Como está o seu kern.maxdsiz ? Pelos numero me parece que sua maquina > ainda está usando o tamanho default de 512 Mb como sendo o segmento > máximo de memoria que pode ser alocada por um processo, esse é o > primeiro problema que eu vejo... # sysctl kern.maxdsiz kern.maxdsiz: 34359738368 > Cada thread do mysql vai consumir no minimo uns 200k de memoria, para > 4000 conexões/threads vc precisa permitir no minimo 1.5 Gb de memoria > alocada por processo. > > De uma olhada nos demais limites do seu sistema com o ulimit-a , vc > pode precisar mexer em outros items... # ulimit -a socket buffer size (bytes, -b) unlimited core file size (blocks, -c) unlimited data seg size (kbytes, -d) 33554432 file size (blocks, -f) unlimited max locked memory (kbytes, -l) unlimited max memory size (kbytes, -m) unlimited open files (-n) 200000 pipe size (512 bytes, -p) 1 stack size (kbytes, -s) 524288 cpu time (seconds, -t) unlimited max user processes (-u) 5547 virtual memory (kbytes, -v) unlimited swap size (kbytes, -w) unlimited Pois é Edson estou tentando descobrir mas tá complicado. :) > > Como estão os parâmetros da sessão [mysqld] do seu my.cnf na sua > instalação FreeBSD e na sua instalação Linux? Eles estão iguais? > Existem uma série de itens de configuração que mudam radicalmente o > consumo de memoria do seu servidor, e a comparação pra ser justa tem > que ser feita em cenários iguais. Estão iguais sim. Fiz só para efeito de testes. O que acontece é que não importa o quanto eu acerte os outros parâmetros no my.cnf, colocar 4000 em max_connections vai tudo pro ralo. Se você tentar fazer aí acredito que vá ocorrer o mesmo resultado. Isso surgiu por causa do nosso site de torrents que devido ao announce e quantidade de peers o número de conexões chegam em 4000. > > Se tiver tempo, recomendo a leitura do artigo > http://mysql.rjweb.org/doc.php/memory , vai ajudar a entender melhor > como o mysql trata o uso de memoria. Vou ler sim. Mas realmente está muito estranho isso. Como está gritante essa diferença. > > [ ]´s Brandi > ------------------------- > 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