Amigo, Se voce ta rodando no linux, tudo bem, dessa vez passa, ehehe
Mas vamos la ao seu caso. Sem nem ver nada, posso afirmar com 100% de certeza o seguinte: "Seu problema esta em como sua aplicacao foi escrita e como esta configurada". Pq digo isso ? pq é um site pelo visto com php e mysql. Vou dar umas dicas que vc tem que observar nas duas esferas, da aplicacao e da estrutura onde a mesma roda. 1) a observar na aplicacao: ------------------------------------------------------------- - suas queryes nao estao mal feitas ? falta de indicies ou joins montados de maneira inversa ? erros de sql DETONAM qualquer sistema, pode por um 300 core que nao vai resolver se sua modelagem estiver errada, isso é a pirmeira coisa a ser vista. o que tem de erros de relacionmento e consultas mal feitas por aí, é impressionante. revise isso e tenha certeza que tudo esta correto. - sua aplicacao é baseada em texto ou imagem ? tem mais acesso ao banco ou a static files ? se for a static files, veja os concerns relacionados ao fs, como desativar o uatime por exemplo, e os tunnings do apache, se for o caso, utiliza o lighttpd para isso. - 99,99% da lerdeza em sites com php/mysql, está relacionada a estrutura relacional utilizadada e as consultas feitas sobre a mesma, é um conjunto, modelo mal feito(falta de indices por exemplo) com SQL errado, detona qualquer coisa cara, volto a dizer, revise isso, nao se engane com a inocencia de um join ou left join, se nao tiver as keys ou a orgem for a errada, ferrou geral.... 2) a observar na estrutura onde roda a apalicacao ------------------------------------------------------------------------------- ( tenha certeza que no item 1 acima seu sql e sua estrutura esta correta, do contrario esquece) - usar o mysql no freebsd sem threads de processo, ou seja, apenas um processo do mysql rodando. - usar myisam ou innodb depende da aplicacao, fazer os tunings relativos a cada caso. (mysql precisa de pelo menos 4G de ram se a base for grande) - tunar o apache corretamente, tem 200 tutoriais na net, proura por apache mysql php tuning e ve se acha algo que melhore teu setup. - utilize um acelerador/cache para o php, como o xcache ou o APC. isso é imprescindivel para o php !!!!!!!!! - NAO USE conexoes permanentes entre o php e o mysql, ta ligado ? la no php.ini, fazer com que o apache crie e feche a conexao com o mysql a cada requisicao, acredite, melhora muito o desempenho com muitos acessos, pois faz o mysql se refreshar... ou seja, se nao tiver ninguem acessando o site, deve ter ZERO conexoes no mysql, o apache nao deve manter as conexoes ativas durante os requests. - AGORA VEM O MAIS IMPORTANTE DE TUDO. - USAR O MEMCACHE NA PARADA, - USAR O SESSION DO PHP SALVO NO MEMCACHE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - USAR O SESSION DO PHP SALVO NO MEMCACHE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - USAR O SESSION DO PHP SALVO NO MEMCACHE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - USAR O SESSION DO PHP SALVO NO MEMCACHE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - USAR O SESSION DO PHP SALVO NO MEMCACHE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ENTENDEU BEM ISSO ??????????? (eheh é serio cara vai por mim, isso faz toda a diferenca) Se é um site onde o conteudo da home vem do mysql, e muda pouco ao longo do dia, o memcache vai livrar seu mysql do trabalho, cara, chega a ficar 500 MILHOES de vezes mais rapido se usar o memcache, kkkk, pode acreditar nissso, é absurda a diferenca. Provavelmente voce nao esta utilizando o memcache, se esta, nao o esta fazendo corretamente. - voce pode usar o memcache para cache de arquivos estaticos para o apache tambem, o que melhora muito tambem. - nao usar logs no apache, esquece isso, dns do ip de acesso pior ainda, se tiver fazendo isso tem que dar um tiro na cabeca. - se tem muito acesso, so logue os erros mesmo, logacc tem que abolir. - muita ram na sua maquina se faz necessario, 16G pelo menos, ideal é uns 24G, ai coloca uns 16G so pro memcache, quero ver ficar lento.... - rodar essa tranquera toda num FREEBSD, tunado e com tudo compilado com opcoes de otimizacao no make.conf, -O2 la etc.... Bem, se voce garantir que isso tudo esta correto e esta sendo feito, e ainda assim ficar lento ou com muito processamento, só se seu sql exige consultas complexas a cada request e que retornem um enorme numero de linhas. Aí só com cluster mesmo cara. Mas em geral o memcache resolve 90% dos problemas de desempenho. RESUMINDO: 1) sql tem que estar correto, indices e joins das consultas. 2) Usar acelerador para php, xcache, apc, etc 3) Tunar o bsd, o apache e o mysql, nao usar conexoes persistentes entre apache e mysql (nada de resolver dns no apache hein) 4) Usar memcache para as QUERYES mais usadas da aplicacao. pode ser usado para static files se for o caso 5) PASSAR O SESSION DO PHP PARA O MEMCACHE se virar com ele. (isso é mais importante que respirar hoje em dia) 6) Muita ram, muita ram, taca uns 6G pro mysql e uns 12-16 pro memcache. O que me vem a mente agora como principal é isso. E ai, o que me diz ? Abraco Leonardo ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

