Зжатие контента через Rack::Deflater

Скорость является клучевым моментом в современном интернете. Чем быстрее сайт, тем больше посетителей вы удержите. Скорость настолько важна, что Google используев скорость как один из главных компонентов в ранжировании сайтов.

Rack::Deflater middleware зжимает ответы на ходу используя дефляцию или gzip. Правильно настроенный Deflater может уменьшить размеры ваших HTML / JSON ответов.

Так же вы можете рассматр другие варианты обработки/зжатия контента:

  • Load balancer,
  • CDN,
  • Компрессия контента и сохранение на своем сервере.

Rails 5

Добавте этот код в config/application.rb:


module YourApp
  class Application < Rails::Application
    config.middleware.use Rack::Deflater
  end
end

И ваш HTML, JSON и другие Rails-ответы будут зжаты.

 

Real world impact

Как только вы включили Rack::Deflater middleware, вы должни видеть статистику компресии в Chrome инспекторе. Как минимум вы должны видить улучшения для Rails-згенерированного контента. К примеру:

Compression Results

Асеты также дожны быть скомпрессироваными Rails 5 через Rack::Deflater.

  До Rack::Deflater После Rack::Deflater Compression Rate
Google PageSpeed analysis 79 of 100 93 of 100 N/A
application.css 30.1KB 6.2KB 79%
application.js 117.0KB 40.8KB 65%
page html 4.3KB 2.6KB 40%
Total size 151.4KB 49.6KB 67%

С минимальными усилиямы, мы уменшаем размер страницы (1/3 изначального размеры) и улучшить PageSpeed анализ на 14 ступеней.

Тема: 
LikeMe: