[FUG-BR] Servidor com load altíssimo

Marcelo Gondim gondim em bsdinfo.com.br
Sábado Julho 7 14:30:19 BRT 2012


Em 07/07/2012 11:49, Leonardo Augusto escreveu:
> 2012/7/7 Leonardo Augusto <lalinden em gmail.com>:
>> 2012/7/7 Marcelo Gondim <gondim em bsdinfo.com.br>:
>>> Em 07/07/2012 10:26, Leonardo Augusto escreveu:
>>>> Ooooooo ta braboooo
>>>>
>>>> Cara, ja falei, vou falar denovo:
>>>>
>>>> 1) INSTALA O MEMCACHE E USA PARA CACHEAR O MYSQL E O SESSION.
>>>> 2) INSTALA UM APC, XCACHE DA VIDA PARA O PHP.
>>> Pessoal primeiramente umas considerações:
>>>
>>> 1º Fiz o downgrade do FreeBSD 9-STABLE para o FreeBSD 8.3-STABLE e
>>> recompilei todos os pacotes. É realmente gritante a diferença de
>>> performance!! Os loads que antes iam na casa dos 200 agora ficam em 0. ,
>>> 3.0, 2.0 e olhe lá.
>>> 2º O MySQL não vai mais nas alturas em processamento fica bem baixo.
>>> 3º Descobri o causador daquele erro de criar threads (Can't create a new
>>> thread (errno 35); if you are not out of available memory, you can
>>> consult the manual for a possible OS-dependent bug) no MySQL. Eu tive
>>> que aumentar esse cara no sysctl:
>>> kern.threads.max_threads_per_proc=2500000 o default estava em 1500 e
>>> quando consulto: sysctl kern.threads.max_threads_hits  me retorna
>>> 1982281 só não sei a causa disso ainda mas estamos indo.
>>> 4º Meu problema agora é o seguinte: Estou tendo mais de 4000 conexões no
>>> mysql  devido ao announce.php que quando o site sobe ele arregaça geral
>>> ahhahah  Se eu coloco 4000 conexões simultâneas o mysql automaticamente
>>> usa mais memória que eu tenho disponível. Hoje estou com 1500 conexões
>>> configuradas. Minhas configurações estão assim:
>>>
>>> skip-locking
>>> key_buffer_size = 2G
>>> max_allowed_packet = 1M
>>> table_open_cache = 512
>>> sort_buffer_size = 2M
>>> read_buffer_size = 2M
>>> read_rnd_buffer_size = 8M
>>> myisam_sort_buffer_size = 64M
>>> thread_cache_size = 8
>>> query_cache_size = 32M
>>> max_connections = 1500
>>> thread_concurrency = 48
>>>
>>> Leonardo estou vendo com o programador da gente por o memcache pra
>>> testarmos. Você acha que se ele colocar o memcache o número de conexões
>>> na base vai cair?
>>>
>>> Você diz instalar e usar esse cara aqui? /usr/ports/databases/memcached
>>>
>>>> Depois ve o que acontece, antes disso é complicado....
>>>>
>>>> Usar php sem cache/acelerador é SUÍCIDIO, ele vai compilar o script a
>>>> cada request,, e se ta dentro do apache,
>>>> aparece como sendo o apache o criminoso...
>>>> Por isso que é melhor usar o php fora, via fast-cgi.
>>>>
>>>> Usar cache pro php e memcache hoje em dia é MANDATÓRIO para qualquer
>>>> setup php/mysql.
>>>>
>>>> Ainda mais com altissimo numero de acessos como o seu site.
>>>>
>>>> Faz isso cara, senao pega a 12 como ja disse , e se mata, eheheh
>>>>
>>>> abraco
>>>> -------------------------
>>
>> Entao, seguindo a regra da lista de escrever a resposta NO FINAL DA THREAD....
>>
>> Cara, depois de vc me dizer que tem tipo 4000 conexoes onde o php tem
>> que ler coisas do mysql,
>>
>> desculpe o palavreado ( é em tom de brincadeira ok )
>>
>> PORRRAAAAAAAAAAAAAAAAAA DO CARALHOOOOOOOOOOOOOOOOO
>>
>> NEM FALO MAIS, ME CALO DAQUI PRA FRENTE, SÓ VOU FALAR MAIS UMA VEZ
>>
>> INSTALA O MEMCACHE E UM ACELERADOR PRA PHP
>> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>>
>> ESSA BOSTA AI VAI ATENDER 50.000 REQUESTS BRINCANDO SE FIZER
>> CORRETAMENTE O QUE EU SUGERI !!!!!
>>
>> tem trocentos tutorias na net,mas é esse port ai mesmo "memcached", e
>> tem que instalar um treco la pro php tal de "pecl-memcached"
>>
>> meu pkg_info mostra:
>>
>> www4# pkg_info | grep memc
>> libmemcached-0.51   A C and C++ client library to the memcached server
>> pecl-memcache-3.0.6 Memcached extension
>> pecl-memcached-1.0.2 PHP extension for interfacing with memcached via libmemcach
>>
>>
>> Ja te mandei ate o exemplo de como cachear as queryes do mysql no
>> memcache e como setar o session nele tambem... PQP!!!
> COntinuando que a porcaria do gmail dei um enter a mandou a mensagem
> antes do tempo. (JA TO ESTRESSADO COM ESSA NOVELA, ENTAO DESCULPEM O
> TOM ESCRACHADO)

Vamos lá quem tinha que estar estressado era eu e não você. No entanto 
estou calmo. Ainda.

>
> entao, ja te mandei ate os exemplos de como usar o memcache tanto no
> mysql como no session, quer que eu faca pra voce ????? me da o ssh

Não fiz essa mudança ainda por alguns motivos:

1º o site não é meu é desse programador "burro" de quem você falou. Já 
passei pra ele tudo que você me colocou. Mas não depende só de mim a 
mudança. O que ele coloca é que no Debian estava funcionando e em uma 
máquina inferior e com kernel generico.

2º temos pouco tempo pra por no ar e já estamos alguns dias fora. Mas 
estou tentando convencer eles da gente fazer o teste do memcache.

>
> Assim cara na boa, voce devia ouvir os outros, tem um site de alto
> trafego, dinheiro pra investir em host e maquina e ta aperreado por
> IMATURIDADE do
> teu responsavel por infra de web.

Primeiro, ouvir ficaria difícil já que é uma lista mas eu leio sim e 
muitas das pessoas senão quase todas que me sugeriram algumas alterações 
eu fiz porque respeito a opinião de todos e a experiência de cada um. 
Nunca fui e nunca serei o dono da verdade.

>
> COMO JA FALEI, php/mysql hoje em dia sem memcache e acelerador, é
> SUICIDIO / AMADORISMO / INFANTILIDADE

Pois é mas até hoje não tínhamos necessidade dele. Veja bem não estou 
dizendo que você está errado em seu pensamento. Só acho que você está 
estressado demais. Eu nos meus 39 anos com pressão alta ficando assim 
como você já teria empacotado. Você deve ser bem novo.

>
> O FACEBOOK usa o memcache cara
> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>
> A logica é simples, pra esses 4000 requests, é a mesma query !!!! ela
> fica grava num servidor socket(memcache) na ram, em vez de o mysql
> montar e realizar a query, vai ler UM STRINGAO direto da ram !!!!
> chega a ser 1000 vezes mais rapido que pegar o mysql
> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
>
> bah to comecando a me irritar !!!!!!!!!!!!! fala serio, pq tu nao
> escuta o maluco .????

Rapaz, rapaz eu sei que você está querendo ajudar mas você já tá 
passando dos limites.

>
> pode tacar um 20 core com 100G de ram que teu site vai continuar um lixo !!!!!
>
> aplicacoes web que consultam base de dados, com alto trafego, numa
> maquina so ?? SO FUNCIONA COM MEMCACHE,
> do contrario teras que montar um cluster sinistro, aí o bixo pega.
>
> tu quer por tudo numa maquina so, blz, mas tem que fazer a coisa certa.
>
> ficar aí batendo cabeca achando que a culpa é do freebsd ou do
> hardware, é burrice, na boa,

ok

>
> eu teria vergonha se fosse voce, to falando que lido com esse lixo de
> php/mysql a 15 anos, tenho varios sites
> com tanto movimento quanto o seu(nao vou dizer quais), ja passei por
> isso, e hoje dou rizada, pois o memcache resolveu 90% dos
> meus problemas de desempenho.

Volto à dizer que não estou dizendo que você está errado ou certo, nem 
tão pouco sou cego e não quero ouvir.

>
> e duvido que tuas queryes sao mais complexas que as minhas, tenho
> querys com 10 tabelas, 4 joins e 6 left joins por exemplo, com um data
> set de mais de 20milhoes de registros e busca por LIKE "%...%" e
> funciona, agora se eu nao usasse o memcache, NAO FUNCIONAVA NADA,
> travava, PQ O MYSQL NAO FOI FEITO PRA EXAGEROS DE HITS por segundo, se
> teu caso é uma base simples como eu imagino
> te aconselho mudar para uma solucao baseada em noSQL, cassandra da
> vida e por ai vai, sao melhores pra esse tipo de aplicacao.
> mas como isso vai demorar pelo visto, INSTALA A PORCARIA DO MEMCACHE E
> PARA DE VIAJAR NA MAIONESE.
>
> E outra, esse teu maluco ai do php é um "NIUBA"  do inferno, eu sou
> neuba, mas quando ouço alguem sugerir algo que parece bom, vou na hora
> catar na net e me informo/aplico/absorvo os conselhos, por isso evoluo.
> aprendi 90% do que sei de freebsd/unix com a galera aqui da lista,
> ouvindo e dizendo amem. tem muita gente fora de serie aqui. e todo
> mundo
> sempre disposto a ajudar, MAS TU TEM QUE TE AJUDAR TAMBEM PORRA.

Companheiro melhor você tomar um chazinho porque tá feia a coisa.

>
> desculpe o tom de esporro cara, mas minha paciencia se esgotou, falei
> varias vezes o que fazer e vc fica DANDO CABEÇADA na parede...

Cara ficar dando cabeçada nunca foi ruim, é bom porque você acaba tendo 
que ver coisas novas e aprendendo coisas novas.
Devido à esse problemas vi muitas coisas que poderiam melhorar. Lógico 
que queremos a solução o mais rápido possível mas ela nem sempre está à 
mão e da forma que queremos.

Louco é aquele que procura obter resultados diferentes fazendo sempre as 
mesmas coisas. Não preciso dizer quem disse isso.
Em nenhum momento deixei de ouvir todos aqui fiz tudo que sugeriam, só 
não fiz o bendito do memcache porque não convenci o dono do site ainda.

>
> aposto que pego esse teu "bundle" da aplicacao toda, coloco numa
> maquina dual core 3ghz com 16g de ram e faço funcionar melhor que
> nesse
> teu 4 core lixao, pois vou fazer um setup pro php/mysql(vou usar
> memcache/fastcgi) que 100mbits nao vao dar conta de tanto lixo que vou
> mandar pelo link.
> aposto um audi r8 com voce, quer fazer o teste ?

Não duvido cara. Desde o início falei que também acho que a aplicação 
tem problemas, não é só o sistema. Outra, nunca pus a culpa somente no SO.

>
> Agora se tu nao acredita, continua comprando mais maquina e achando
> que o problema ta na versao do freebsd... teu site vai continuar off
> line

Grande a gente não alugou uma máquina maior porque estava dando problema 
no site. O site estava FUNCIONANDO MUITO BEM, agora acho que você vai 
conseguir ler.
Nós só alugamos uma máquina maior porque o preço estava bom e outra só 
estou colocando o FreeBSD porque eu gosto muito do SO e estava querendo 
colocar ele nesse site. Só por isso. Não tinha nada travado, parando, 
dando erro de mysql. Nada disso. Você entendeu isso que te disse?

> pra encerrar (pq tudo tem limite)

Ainda bem que tem limite.

> O PROBLEMA TA NO PHP/MYSQL, QUE ESTAO SEM CACHE(memcache/apc) NOS DOIS
> !!!!! (isso contando que o sql esta correto, como ja falei tb)

Até que enfim você disse algo que concordo e sem mi mi mi

>
> FIM
> nao falo mais

Muito obrigado.

> p.s
> nao reparem o tom de ironia do relato, mas é pra rir mesmo, eheheh
> agora o que falei é bem serio.
>

Não sei onde isso é ironia. Vi um cara estressado com um problema que 
não é dele e mal educado. Você é assim em casa também?



Mais detalhes sobre a lista de discussão freebsd