Estes dias eu estava otimizando o tempo de carregamento do boratrocar, e um dos problemas mais graves indicadas pelo PageSpeed era a (falta de) compressão das imagens.
Este problema existia tanto nas imagens estáticas ( que haviam sido criados como PNG 24 salvando para otimizar para a Web no photoshop ), quanto para as imagens das fotos dos ítens e avatares dos usuários (em geral JPGs).
A primeira coisa que fizemos foi otimizar os PNGs estáticos, utilizando:
optipng -o7 -strip all app/assets/images/*.png
Depois disso, adicionamos a gem carrierwave-imageoptimizer ao Gemfile, seguimos os passos de instalação, e rodamos os comandos para gerar novamente as versões das imagens antigas, que no nosso caso eram:
User.all.each{|u| u.avatar.recreate_versions! }
ItemPicture.all.each{|i| i.image.recreate_versions! }
E voilá, o comando gerou novamente a versão de algumas milhares de imagens agora otimizadas. O ganho de desempenho foi notável, chegando a mais de 5MB a menos em algumas páginas.