Sites muito grandes (seja em conteúdo ou quantidade de visitantes) podem começar a enfrentar problemas de performance. Neste pequeno artigo, darei algumas dicas para quem está enfrentando este tipo de problema.
Antes de culpar o Joomla! por problemas de desempenho, certifique-se que você não está utilizando um shared-host com mais 90 pessoas em um pentiumII com 512mb de RAM (exageros a parte, é assim que infelizmente muitas empresas que hospedam sites no Brasil tratam os seus clientes). Se este for o seu caso, este texto não irá ajudar muita coisa.
Estas dicas foram testadas em alguns dos meus clientes que possuem uma grande quantidade de acessos. Nenhuma das técnicas aqui descritas é invenção minha e eu não me responsabilizo por qualquer dano/efeito colateral que o mal uso delas possa causar.
Parte 1: Problemas mais comuns
1.1: A maldição da extensões
Quando começamos a descobrir o Joomla! ficamos maravilhados com a quantidade de extensões disponíveis, isso nos faz cair na tentação de instalar dezenas de componentes/módulos para deixar o nosso site mais bonito (sendo que 70% desdes "adereços" são inúteis e a gente instalou só pra deixar o site mais bonitinho). Só esquecemos que tudo isso será carregado em todas as páginas do nosso site e que [dependendo da extensão] cada vez que for carregado, executará dezenas de consultas ao banco de dados. Aí surge o primeiro inimigo do Joomla! a sobrecarga de módulos e plugins. Normalmente você detecta isso, quando seu site demora muito tempo para "abrir".
Outro problema comum com extensões feitas pela comunidade é que muitas vezes, os programadores na hora que estão desenvolvendo-as, não optimizam o seu código o suficiente para que sejam utilizados em sites com grande quantidade de acesso . Abra o olho principalmente com componentes de calendário e estatísticas.
1.2: Templates assassinos
"Beleza a qualquer custo" poderá te colocar em apuros, principalmente se você for um designer iniciante que quer colocar [muitas] imagens grandes e detalhadas, animações em flash, tocador de mp3, efeitos com javascript... Lembre-se que tudo isso irá ser baixado no computador do seu visitante, e que muita gente ainda utiliza conexão discada. Tente "segurar a sua onda" e apostar em layouts mais otimizados.
Se você não sofre dos problemas descritos acima e tem problemas de performance, vamos começar com as dicas:
- Desative o SEF e o gZip: Componentes de SEF (OpenSEF, JoomSEF, etc.) criam uma base com todas as suas URLs e depois pesquisam nesta base a cada nova requisição do usuário e o gZip foi feito para diminuir o uso de banda, e não para melhorar o server load.
- Considere o uso de aceleradores como o Zend ou APC, eles provavelmente irão melhorar de maneira significativa o tempo de execução dos seus scripts.
- Habilite o cache. Apesar de exigir mais RAM no seu servidor, o cache irá armazenar as queries mais comuns na memória RAM, tornando a execução mais rápida.
Ainda não resolveu seu problema?
- Ligue o debug, analise as SQL que estão sendo executadas. Veja se há algo anormal (perdoe este editor por esquecer de o endereço para um hack excelente no debug do joomla! que facilitaria este trabalho).
- Se você tiver RAM suficiente, vale MUITO a pena alterar a tabela de sessões ( jos_session normalmente ) para HEAP ao invés de MyISAM e eu também trocaria a tabela dos usuários ( jos_users normalmente ) para uma tabela do tipo InnoDB. Dependendo das extensões que você utiliza, há mais coisas para "tunar", mas isso deve ser suficiente para melhoria significativa em performance no banco. Para mais detalhes sobre otimizações no MySQL, leia esta página.
- Se o seu site for gigantesco, você deve considerar balanceamento de carga (há um artigo falando sobre isso na seção de downloads aqui do site).
Boa sorte a todos. Não esqueça de fazer backup!
Add your comment
| < Anterior | Próximo > |
|---|


