ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Cache Revalidate



А что вам мешает организовать кеш в мемкеше или другом подобном хранилище?
Мы у себя так сделали, кеш (на nginx) выключили вообще за ненадобностью.


2013/11/27 S.A.N <nginx-forum@xxxxxxxx>
> use case и о происхождении требования о недопустимости кеширования
> даже на 1 секунду.  Возможно, это позволило бы пересмотреть
> существующее поведение при max-age=0, благо в Cache-Control есть и
> другие способы запрета кеширования.

use case продиктован нашей бизнес логикой, мы кешируем все даже страницы для
залогиненых пользователей (персонал данные подтягиваются через ajax с
использованием клиентского кэширования браузера), в этом есть смысл, цифры я
уже писал, разница скорости в генерации страницы и в ревалидации отличается
в десятки раз, в пользу ревалидации.

Есть сайт с хорошей посещаемостью, залогиненые пользователи имеют
возможность общатся, создавать свой контент, редактировать, удалять, есть
так же платные сервисы.

Наши клиенты не хотят и не должны ждать, даже если это одна секунда, ну
например, клиент написал комментарий на сайте, POST ушел на сервер, если у
нас кеширования на 1 секунду, мы клиенту не можем сразуже показать новую
страницу, должны сделать задержку на 1 сек потом обновить его страницу или
как на Хабре все комментарии видны с задержкой и люди это терпят.

Конечно мы тоже можем так сделать, но зачем, если скорость ревалидации нам
позволяет убрать необходимость в задержках и клиент будет доволен  и
работать все будет стабильно, главное это сделать совсем не сложно.

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

Нам не интересно делать задержки в кеше, представте если бы Facebook делал
задержки в отображении, даже если бы на этом форуме были задержки в
отображении написанных постов, все бы конечно смерились но это совсем не
круто.

Есть другой вариант обычно так и делают, не кешируют страницы которые
критичны к задержкам и часто обновляются, но это тоже не круто, такие
запросы будут нагружать бекенд, время отклика будет падать, очередь запросов
к FastCGI будет расти, так до таймаутов осталось не долго.

В общем, мы знаем как можно обойтись без постоянной ревалидации, но так же
мы знаем как все будет круто, если реализовать постоянную ревалидацию.

Почему бы и нет?

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,244991,245024#msg-245024

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.