Configurando o Varnish Cache para horizontalização de aplicações em WP


FEED KingHost iMasters julho

Na última postagem sobre horizontalização de WordPress, mostramos como você pode fazer isso utilizando Varnish Cache + Cloud Computing. Agora, você confere como realizar a configuração do Varnish Cache.

O Varnish geralmente tem três pontos de configuração. O script de inicialização, a configuração de todo o sistema, e o arquivo VCL que faz a maior parte do trabalho.

O primeiro script que inicia-se normalmente é localizado com o resto de seus scripts de inicialização do sistema em /etc/init.d/varnish. Este arquivo raramente precisa de ajustes, mas pode ser interessante para ler ou ajudar a localizar configuração adicional (uma vez que o script de inicialização é responsável por chamar o próximo arquivo).

O segundo arquivo é geralmente localizado em /etc/sysconfig/varnish. Este arquivo define a configuração global para o Varnish, como qual porta ele deve ser executado e onde ele deve armazenar seu cache. Normalmente, ele contém 5 maneiras diferentes de escrever a mesma coisa. Não importa qual opção você usar: só não se esqueça de mudar o seu backend de armazenamento. O padrão é geralmente “file”, que armazena informações em cache no disco. Tenha absoluta certeza de mudar isso para “malloc”, que armazena informações na memória! Se você não tem memória suficiente em para um cache (digamos alguns gigabytes), considere um upgrade de memória.

Configuração VCL

O arquivo VCL é o principal local para a configuração de Varnish. É importante notar que o Varnish inclui um grande conjunto de padrões que sempre são acrescentados automaticamente para as regras que você especificou. A menos que você forçar um determinado comando como “pipe”, “pass”, ou ” lookup’”, os padrões serão executados.

O arquivo VCL é normalmente configurado para lidar com o tráfego HTTP e HTTPS, por isso é preciso  definir uma lista de servidores web pelo seu endereço IP duas vezes; uma vez para a porta 80, que fornece páginas normais e novamente para a porta 443 para conexões seguras.

A última parte da configuração acima faz parte da sub-rotina vcl_recv. É o que define o conjunto de servidores será utilizado com base na porta pela qual Varnish recebeu o tráfego.

O ideal é certificar-se que cada servidor web está pronto para entregar o tráfego. Uma forma de fazer isso é usar um arquivo localizado diretamente na raiz do servidor web chamado “Status.php” Este arquivo faz estas verificações.

Se qualquer uma dessas verificações falhar, o arquivo gera um erro 500 do servidor e o Varnish terá o servidor web de rotação. O arquivo Status.php também é extremamente útil para tirar intencionalmente um servidor web de rotação. Basta mover o arquivo Status.php para uma nova localização (como o estado-temp.php) e Varnish irá remover automaticamente o servidor de rotação, enquanto o próprio servidor permanece acima de modo que possa ser atendido de forma independente dos outros servidores web. Este procedimento é comum ao executar instalações ou atualizações do novo software nos servidores web.

*Artigo desenvolvido em colaboração com Alessandro Huber – Analista de Infraestrutura da KingHost.

Lívia Lampert

Comentários

comentário(s)


+ There are no comments

Add yours