Fazendo ajustes de desempenho no Drupal - Central de Ajuda com Tutoriais e Informações HostnetFazendo ajustes de desempenho no Drupal - Central de Ajuda com Tutoriais e Informações
Não é novidade que, hoje em dia, os sites estão cada vez maiores, e consomem cada vez mais banda passante da rede. A página inicial de um portal tem tranquilamente mais de 2 Megabytes, que serão trazidos para os navegadores dos clientes. Isso consome a sua franquia de transferência, e pode, a longo prazo, encarecer a sua conta. Vamos a um exemplo:
Vamos supor que seu site ocupe no total 25 Mb de espaço, mas cada visitante que acessa, transfere para o cache do seu navegador, em média, 5 Mb. O plano básico da Hostnet confere ao cliente um total de 25 Gb de transferência mensais. Logo: 25 Gb = 25 x 1024 = 25600 Mb. Se cada usuário consome 5 Mb, podemos ter, no máximo, 5120 acessos por mês, ou 170,67 acessos únicos por dia. Se o usuário estiver por trás de um proxy, isso diminui, pois quem fornecerá parte do site será o servidor proxy, e não o seu site. Maiores informações sobre o que é um servidor proxy podem ser encontradas http://pt.wikipedia.org/wiki/Proxy.
Se o seu site traz muitos visitantes, a tendência é o número de acessos diários aumentar, e o seu custo com hospedagem também, já que você precisará contratar um plano com maior oferta de transferência. E, para bancar esse custo, você precisará buscar anunciantes, capitalizar e fidelizar a audiência do seu site, melhorar o seu posicionamento em sites de busca (SEO)… Sim, dá trabalho.
Ao mesmo tempo, um problema comum é a lentidão que muitos clientes reclamam. Por mais que o site esteja hospedado num conjunto de servidores com bastante banda disponível (como o da Hostnet, por exemplo), quanto mais visitantes estiverem acessando o site simultaneamente, mais tráfego ele consumirá. Com isso, a banda disponível será dividida pelo número de visitantes.
Logo, devido a essas duas situações, alguns ajustes de desempenho são interessantes para quem vai hospedar um site. E o Drupal tem algumas configurações que podem ajudar a melhorar o desempenho de forma substancial.
Bem, vamos por a mão na massa. Clique na opção Desempenho, dentro de Configuração do site, no menu administrativo. Você obterá a seguinte página:
Vamos examinar cada uma das seções, para ver onde podemos otimizar o desempenho do nosso site:
O Drupal, como todo sistema gerenciador de conteúdo, formata e gera páginas HTML de acordo com as requisições feitas pelos usuários. Se o site é um blog, então conforme as notícias são postadas, a página é refeita e reformatada, para que os posts novos sejam acrescentados no início da listagem. Logo, para melhorar o desempenho, é comum que os CMS guardem as páginas já geradas em diretórios, no disco onde o CMS está instalado. Essa área (o cache) é criada para evitar que as páginas sejam refeitas para cada usuário: Elas só são refeitas se alguma seção foi alterada. Isso diminui a quantidade de processamento do servidor, e aumenta o desempenho do site como um todo, pois entrega as páginas sem precisar ter que refazê-las.
Mas claro, há um preço quanto a isso, que são possíveis efeitos colaterais em políticas de cache mais agressivas. Como assim? Explico: Quando uma página é fornecida pelo cache, o Drupal precisa carregar os módulos necessários à exibição daquele site para que a página seja exibida corretamente. Numa política de cache agressiva, o Drupal não carrega nem descarrega os módulos, economizando no tempo de boot e de descarga. Isso traz ganho de desempenho, mas pode gerar instabilidades se o módulo não estiver preparado para tal.
Vamos ver as configurações dessa seção:
Modo de cache: Aqui você habilita como você vai querer que o cache trabalhe quanto às páginas:
Desativado:Essa é a configuração padrão, onde o site não realiza nenhum cache de página, e tudo é gerado conforme a necessidade.
Normal:Essa opção é recomendada para sites que estão em uso, já que realiza o cache das páginas.
Agressivo: Aqui, o Drupal faz o cache das páginas e já coloca os módulos em execução, sem esperar que eles sejam carregados e descarregados.
Nota: Se você observar a frase abaixo, em verde, lerá que o Drupal informa que todos os sites são compatíveis com o cache de páginas agressivo, ou seja: pode usá-lo sem receios. A única ressalva é que você terá que retornar a esta página, de tempos em tempos, para saber se os módulos são compatíveis com o cache agressivo.
Tempo mínimo de vida do cache: Aqui você pode definir por quanto tempo a página estará disponível no cache do Drupal, ou será refeita. Se as suas páginas tem poucas atualizações, é interessante colocar valores bem grandes, para que não gere tráfego desnecessário no servidor. Os valores vão de 1 minuto a 1 dia.
Compressão da página: Alguns servidores Web (mais notadamente, o Apache) tem a opção de enviar a página comprimida para o cliente, e aí ele tem o trabalho de descomprimir e renderizar a página. Um arquivo comprimido (ou compactado) ocupa menos espaço, e com isso consome menos banda para ser transferido. Logo, nessa opção, você pode optar para que o Drupal faça a compressão das páginas que estão no cache, mas deve ser desativada caso o servidor Web já faça a compressão. Comprimir o mesmo arquivo duas ou mais vezes seguidas pode aumentar por demais o tempo para descomprimir, e até aumentar o tamanho do arquivo. Use com sabedoria.
1 Cache de bloco
2 Otimização de banda
3 Limpar o cache
Cache de bloco
O cache de bloco é semelhante ao cache de página, só que agora a intenção é fazer cache de pedaços da página (os blocos do Drupal). Dessa forma evita que cada bloco seja reconstruído em cada página. Se o cache de página também estiver ativado, a ativação do cache de bloco será útil principalmente para os usuários autenticados.
Se você quiser ligar a opção de cache de bloco, basta ir até a seção Cache de bloco, e selecionar a opção Ativado. Normalmente vem desativado, cabe ao administrador (ou seja, você) ativá-la.
O Drupal pode otimizar automaticamente arquivos CSS e scripts feitos em JavaScript. As vantagens que essa opção traz são claras:
Os arquivos CSS e os scripts em Javascript reduzem de tamanho, gastando menos tempo na transferência dos mesmos para o cliente.
A otimização reduz também o número de requisições ao servidor, e com isso há um ganho em desempenho.
Nessa otimização, os arquivos CSS são agrupados em um arquivo compactado e transferido para o cliente. No caso dos scripts em JavaScript, eles são agregados mas não são comprimidos. Essas otimizações podem reduzir o tempo de carga no servidor, uso de banda e o tempo de carregamento das páginas.
Para ativar essas opções, basta, na seção, selecionar a opção nas opções e Otimizar arquivos JavaScript.
Note que essa opção só funciona se o administrador (ou seja, você) definir o seu diretório onde ficam os arquivos do Drupal, ou se o método de download for definido como privado. Se você estiver desenvolvendo um tema novo para o Drupal, é bom manter essas opções desligadas, sob pena de bagunçar os arquivos CSS e/ou os scripts JavaScript do seu site.
Por último, a limpeza do cache. Essa não é uma opção que seja executada automaticamente, mas que o administrador precisa entrar no modo administrativo do site e executar a limpeza, ou seja, clicar no botão Limpar o cache.
Por que limpar o cache? Isto torna-se necessário para identificar problemas em módulos, temas ou traduções que você tenha colocado na sua instalação do Drupal. Se alguma informação desatualizada foi salva no cache, você não conseguirá ver a alteração realizada e não será capaz de identificar o problema. Logo, ao você limpar o cache, todo o site será reconstruído pelo Drupal, o que pode levar algum tempo. Se o seu site for um com muito tráfego, poderá ficar um pouco lento.