Melhorando o rendimento do Drupal

Hoje, estava dando uma olhada em algumas coisas relacionadas a melhorar o rendimento do Drupal, e dei de cara com este post aqui, que dá algumas dicas interessantes. Posso dizer que este blog aqui, com seus quase 2000 nodes publicados, melhorou o rendimento a olhos vistos depois de efetuar estes passos.
Estava notando a algum tempo, muitos erros 500 ( estes ocorrem, na Dreamhost, quando seu processo é morto pelo Sistema Operacional[bb], ao utilizar mais tempo de CPU do que deveria ) e outras coisas que me levaram a crer que um dedicado era a última saida.

 

DRUPAL

 

Tendo em vista meus planejamentos e organizações dos últimos tempos, consegui um tempo para "melhorar isto aqui" e fazer os passos que o cara dá dica. 

Para facilitar a vida de quem está tentando fazer, vou dar minhas dicas em paralelo com as dicas do cara ... 

1. Ativar o cache do Drupal - este assunto, cache do Drupal, eu vou tratar em um post separado, pois merece muita atenção. Mas a dica principal do cara, é, ativar o módulo padrão de cache do Drupal, e deixar o bichinho funcionar. Não sei se é bom ou ruim, pois ainda não fiz esta parte do processo.
Mas que ele é bem comentado nos fóruns do Drupal por aí, ele é. Funciona mais ou menos como os módulos de cache para Wordpress.
Mas, como eu disse, é assunto para outro post, porque merece ser muito mais discutido.

2. Desabilitar e fazer um ajuste fino de todos seus módulos - tenha um bruta cuidado com isto. Desabilite todos os módulos que não está utilizando. Eles podem causar um uso grande de CPU que você não precisa naquele momento.
O ganho que você terá de uso de CPU com o desabilitar os módulos é fora do comum. Aqui, da última vez que fiz isto, ganhei muito, muito mesmo.
Além disto, tenha cuidado. Um módulo mal configurado pode causar uma queda geral do seu blog. Tive um caso deste tipo com o módulo Flickr[bb] ( este que mostra as últimas fotos do meu Flickr neste blog ) em que eu coloquei o mesmo para atualizar, se não me engano de cinco em cinco minutos, o cache de fotos.
Simplesmente, os processos foram enfileirando no servidor até chegar ao uso máximo de CPU, e resumo, dá-lhe erro 500 toda hora.
Fui forçado a desabilitar o módulo direto na base de dados e depois, com cuidado, fiz um bruta ajuste fino.
Hoje, ele consegue interagir com todo o blog sem causar problema nenhum. Assim, completando a dica do outro post, sempre desabilite o que você não precisa e ajuste, com muito cuidado, o que você está utilizando :-) 

3. Desabilite o módulo de estatísticas - caramba, vocês não tem noção do quanto eu ganhei quando fiz isto. Aliás, devem ter já que a melhora no carregamento do blog é visível.
Não acreditei quando li, que o módulo em questão causa um uso de CPU de 40 a 50% maior, do que o carregamento sem o mesmo habilitado. Isto é causado porque ele faz um tracking de todos os acessos ( pageviews ) e ainda, todas as referências ( referer ). Assim, este é fácil. Desconfigure o mesmo na interface de administração e depois, desabilite o módulo.
Quer estatísticas ? Use o Analytics, do Google. Não vai ferrar tanto seu processamento, e você ainda terá tudo que precisa.
Além disto, também, a própria Dreamhost fornece um tutorial ( aliás, dois )  de como configurar o Awstats. Ele lhe fornece alguns dados que podem não ficar muito claros no Analytics, formando uma ferramenta tão legal quanto as estatísticas do Drupal, não causando impacto no seu funcionamento geral. Ou seja, uma dica maravilhosa para quem utiliza servidores compartilhados :-) 

4. Desabilite ou evite o uso exagerado de filtros - o autor cita os filtros que ele desabilitou, mas vou ser bem objetivo.
Tal qual os módulos, quanto mais filtros você tiver, mais cláusulas de programação você vai ter e por sua vez, mais e mais processamento. Isto em um servidor dedicado pode não ser muito, mas imagine em um servidor compartilhado ?
Assim, use o bom senso. Evite este uso exagerado de filtros, lembrando que no caso de Emoticons, o TinyMCE tem um kit prontinho para o uso dos membros de sua comunidade ( sim, o Drupal tem um quê de comunidade mesmo :-P ) .

5. Limpe a tabela de sessões -  pelo menos uma vez por semana coloque o seu blog em modo de manutenção e limpe a tabela de seções.
Uma seção é criada sempre que alguém loga no blog ou até, utiliza algum serviço. Assim, é interessante limpar o tabelão criado e depois, forçar a galera a voltar para o site.
Uma dica neste ponto é : você vai perder sua seção, lógico. E para acessar de volta sua estrutura, é só ir em 

http://seusite.com.br/?q=user

E pronto, ao logar, você terá novamente o controle do seu blog. Ah, para acessar diretamente a interface de administração : http://seusite.com.br/admin

6. Limpe o cache - ainda não fiz isto, pois como disse, não estou utilizando ainda o cache, mas de acordo com ele é bom, e deve ser feito sempre que se limpar a tabela de seções. Sempre que for efetuar isto, desabilite primeiro ( na seção de módulos ), o cache.

7. Otimize as tabelas - coisa normal, mas altamente esquecida por quem está mais preocupado em postar. Otimizar as tabelas torna as consultas ao banco de dados muito mais rápidas e por sua vez, o uso de tempo de CPU diminui, pois o processo demora menos tempo para terminar sua missão.
Além disto, otmizar as tabelas do MySQL é um serviço fácil, para quem tem o PhpMySQLAdmin na mão.

Já a dica de mais memória[bb], normal. Quanto mais memória, logicamente, menos swap vamos usar e o rendimento geral do servidor será melhor. 

Como sempre digo, estou aberto a dicas. Deixei já meu post no Drupal BR, perguntando a galera de alguém tem dicas sobre o Cache no Drupal.
Quem tiver este tipo de experiência e quiser compartilhar aqui ou lá, vai quebrar um bruta galhão :-)