Reduzir custos com um sistema de cache

Um sistema de cache é normalmente utilizado para tornar o acesso mais rápido a um site, mas pode também utilizado para reduzir custos com um servidor, diminuindo os recursos necessários e consumo energético.

Datacenter do Google

No início do mês lancei uma nova versão do Mais Gasolina, baseado no CMS que já tinha desenvolvido para o Site dos Provérbios.

O código foi refeito totalmente de raiz, tendo sido tudo desenvolvido a pensar em conteúdo estático com o pouco conteúdo que continua dinâmico a ser servido por AJAX, ficando este também em cache quando possível através do Local Storage do HTML5. Assim o acesso ao MySQL é extremamente reduzido, existindo apenas processamento mínimo por parte do Apache e PHP.

Até o widget do Mais Gasolina foi optimizado para reduzir o número de pedidos por HTTP ao máximo.

O resultado foi uma redução drástica na carga do processador e consumo de memória. Consegui assim reduzir os custos consideravelmente, passando de um servidor com múltiplos cores para um servidor virtual bastante modesto com apenas um core a 2.2GHz e 2GB de RAM.

Este servidor virtual nesta configuração permite receber 300 pedidos por segundo, menos 100 que o servidor anterior. Certamente com memcache ou nginx conseguiria receber mais pedidos por segundo, mas o CPanel não tem ainda forma de fazer esta configuração facilmente.

No entanto o número de pedidos HTTP ao website também reduziu, com o uso de sprites, caches prolongados de imagens, css e ficheiros js e a devolução de códigos 304 quando o conteúdo não foi alterado facilmente o servidor actual tem capacidade para receber um fluxo de visitas como o que aconteceu quando o site apareceu na televisão, embora num futuro próximo tal seja altamente improvável.

 
Copyright © 1985 - 2017 Eduardo Maio. Alguns direitos reservados.
eduardomaio.net - Às vezes mais valia ser Agricultor do que Programador
Ao navegar no blog eduardomaio.net está a concordar com os termos legais e de privacidade.