Welcome! Log In Create A New Profile

Advanced

Re: Cache revalidation using If-None-Match

July 18, 2014 01:01PM
> Всеравно nginx отдаст 304 ответ из своего кеша еще быстрее,
> чем веб-приложение на которое он проксирует запросы клиентов.

Да, конечно.
Но вы не сможете постоянно хранить ответы в кеше, их придется когда-то ревалидировать.

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

Там все просто, условно говоря, есть 100 000 запросов в час, они все приходят на 100 разных uri.
В результате мы получаем за короткое время много запросов на одни и те же uri.
Это отличный сценарий чтобы просто включить кеширования, например на mag-age=60, и включить блокировку на обновления.
Тогда можно не ревалидировать кеш, на бекенд будет приходить мало запросов (средний RPS не высокий).

Но, есть и другие проекты, в которых совсем другая картина, там все на оборот, мало повторных запросов и очень много уникал запросов.
Если включить кеш даже на mag-age=3600, кеш просто не будет доживать до следующего запроса.

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

Условно говоря, 100 000 запросов в час, приходят на 90 000 уникал uri, такая картина постоянно.
Всего в магазине 1000 000 уникал uri, не сложно подсчитать, что повторные запросы будут, но где-то раз в сутки и позже.

В таком случаи, есть два варианта поставить mag-age=10000+, или включить ревалидацию.
Первый вариант подходит только для архивных данных.
Для магазина больше подходит вариант с ревалидацией.

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

Cache revalidation using If-None-Match

S.A.N June 26, 2014 10:36AM

Re: Cache revalidation using If-None-Match

Anatoly Mikhailov June 26, 2014 04:28PM

Re: Cache revalidation using If-None-Match

S.A.N July 14, 2014 11:37PM

Re: Cache revalidation using If-None-Match

Maxim Dounin July 15, 2014 06:54PM

Re: Cache revalidation using If-None-Match

S.A.N July 15, 2014 08:09PM

Re: Cache revalidation using If-None-Match

S.A.N July 15, 2014 08:44PM

Re: Cache revalidation using If-None-Match

Gena Makhomed July 17, 2014 05:50AM

Re: Cache revalidation using If-None-Match

S.A.N July 17, 2014 09:46AM

Re: Cache revalidation using If-None-Match

Gena Makhomed July 17, 2014 02:46PM

Re: Cache revalidation using If-None-Match

S.A.N July 17, 2014 06:23PM

Re: Cache revalidation using If-None-Match

Gena Makhomed July 18, 2014 07:16AM

Re: Cache revalidation using If-None-Match

S.A.N July 18, 2014 01:01PM

Re: Cache revalidation using If-None-Match

Gena Makhomed July 17, 2014 07:36AM

Re: Cache revalidation using If-None-Match

S.A.N April 01, 2015 12:04PM

Re: Cache revalidation using If-None-Match

Валентин Бартенев April 02, 2015 03:14AM

Re: Cache revalidation using If-None-Match

Gena Makhomed July 17, 2014 05:10AM

Re: Cache revalidation using If-None-Match

S.A.N July 17, 2014 08:17AM

Re: Cache revalidation using If-None-Match

Gena Makhomed July 17, 2014 02:08PM

Re: Cache revalidation using If-None-Match

S.A.N July 17, 2014 04:48PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 53
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready