Compilação no Magento: como funciona e porque usar?

Olá pessoal!

Há algum tempo venho recebendo dúvidas sobre como melhorar (um pouco) a performance do Magento sem precisar comprar módulos que prometem fazer sua loja rodar na velocidade da luz (sim, existem desenvolvedores que prometem isso).

Minha visão aqui é simples: O Magento é um dos melhores softwares para e-commerce da atualidade, porém uma plataforma bastante pesada que demanda grandes recursos de servidores.

Para mim não existe fórmula mágica, afirmar que existe um módulo milagroso que vai resolver todos os problemas de performance do Magento sem afetar suas funcionalidades e dinâmica é um conto de fadas.

Ao menos a nível de módulo de cache do Magento eu não acredito. Seria outro assunto se estivéssemos falando do Varnish, uma poderosa ferramenta de cache para web, porém que faz parte de infraestrutura e não de software.

Enfim, não sei até onde isto é conhecido em nossa comunidade, mas o Magento possui implementado em suas funcionalidades padrão algo que pode ajudar em sua performance: a compilação. Pode ser encontrada em System > Tools > Compilation.

Para se compilar os arquivos no Magento basta seguir um processo muito simples: Navegue até System > Tools > Compilation e clique em Run Compilation Process e aguarde a finalização do processo.

Para que serve?

A compilação no Magento tem por finalidade ‘juntar’ todos os arquivos de classes de todos os seus módulos do Magento em uma única pasta, que fica localizada em /includes/src/.

Este processo diminui o tempo de resposta para cada arquivo que o Magento tente incluir em seu processo de Autoload, pois ele deixa de varrer as pastas padrão dos módulos um a um para procurar qualquer arquivo necessário em uma única pasta, citada acima.

Habilitar a compilação é uma boa jogada para um ganhho de performance, porém mais adiante relatarei algumas precauções que são necessárias para que este benefício seja usufruído causar erros na loja.

Muito cuidado!

No processo de compilação do Magento ele varre todas as classes de todos os módulos e cria uma cópia dos arquivos fonte necessários para o perfeito funcionamento de cada módulo da loja. Dessa forma ele para de buscar os arquivos dos módulos em suas pastas padrão e passa a buscá-los na pasta citada acima.

Em caso de módulos novos que serão instalados na loja existem alguns passos necessários para que não ocorra nenhum problema:

1 – Desabilite a compilação do Magento antes de fazer a instalação do módulo;
2 – Faça a instalação do módulo, seja ela da maneira que for: via Magento Connect ou manualmente;
3 – Rode novamente a compilação do Magento para que ele reconheça e capture os arquivos necessários do novo módulo.

Seguindo estes passos muito provavelmente não existirão erros após a instalação, a menos que o módulo não esteja desenvolvido da maneira correta, mas aí é outra história e eu deixarei para outro tópico, ok?

Um grande abraço e até a próxima!