Em 11/07/2012 12:23, Ricardo Carlini Sperandio escreveu: > Em 11 de julho de 2012 12:14, Marcelo Gondim <gon...@bsdinfo.com.br>escreveu: > >> 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 >> > Qual a versão do teu FreeBSD ? > Oi Ricardo, testei com o 9-Stable e com o 8.3-Stable ambos amd64.
------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd