Назад | Перейти на главную страницу

Микро-кеширование лака

Микрокеширование и Nginx действительно могут ускорить работу приложения. Можно ли использовать микрокэширование (или что-то подобное) с Varnish?

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

Т.е. Не содержит данных о сеансе / пользователе

И как только вы это сделаете - вы также можете оставить кеш в последний раз до момента, когда он будет признан недействительным / истечет. Так что преимуществ от того, что вы описываете, на самом деле не существует.

Либо данные можно безопасно кэшировать без какой-либо модификации приложения (т.е. не будут содержать содержимое корзины / информацию о пользователе и т. Д.) - в этом случае вы можете просто включить неопределенное кеширование до следующей очистки ... или ... вы должны перекодировать свое приложение, чтобы гарантировать, что оно отправляет только "кешируемые" заголовки, когда данные могут быть кэшированы, и отредактируйте свои VCL, чтобы кешированный сеанс был признан недействительным при необходимости.

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

Если под микрокешированием вы имеете в виду очень низкий ttl. Тогда да. Лак может это сделать.

Для Varnish 3.x:

в подпрограмме vcl_fetch () в конце функции (или в другом логическом месте):

установить beresp.ttl = 1s;

И помните о параметре "недолговечный" (по умолчанию 10 секунд). Объекты, созданные с TTL короче этого, всегда помещаются в временное хранилище. По умолчанию Varnish будет использовать неограниченный malloc для временного хранения.