Проверьте, установлен ли на вашем хосте Varnish Cache, и в Sinatra вы можете просто отправить заголовок 'cache-control', и ваш сервер приложений будет поражен только один раз для запроса:
get '/rendered_page/:which_page' do
response.headers['Cache-Control'] = 'public, max-age=300'
haml :"pages/#{params[:which_page]"
end
А затем поместите ваши страницы в 'views / pages' с расширением .haml.
По первому запросу у Varnish нет записи о том, что следует обслуживать, поэтому ваше приложение генерирует полный HTML. Последующие запросы не доходят до вашего приложения, потому что Varnish отправляет обратно то, что было из предыдущего запроса.
Например, в Heroku по умолчанию доступен лак: http://docs.heroku.com/http-caching