Welcome! Log In Create A New Profile

Advanced

Re: fastcgi cache background update ssi подзапросов

Roman Arutyunyan
May 10, 2017 01:20PM
Добрый день,

On Wed, May 10, 2017 at 12:04:39PM -0400, metalfm1 wrote:
> Приветствую!
>
> Директива fastcgi_cache_background_update странно ведёт себя при ssi
> подзапросах.
> Есть сервис со сложной бизнес логикой, главная страница загружается 1 сек,
> стек nginx + php-fpm. В ходе оптимизации скорости загрузки было решено
> вынести генерацию самого долгого куска страницы в отдельный ssi подзапрос и
> кешировать его на 1 час. Кешированием управляет fastcgi сервер на php с
> помощью заголовка Cache-Control.
>
> С кеширование проблем нет, nginx успешно кеширует подзапросы /ssi_dev/ и
> складывает их на диск. Проблемы начинаются когда кеш протухает.
>
> Текущее поведение nginx
> - если есть элемент в кеше, то он успешно отдается(HIT)
> - если есть элемент в кеше, но он устарел, то клиенту отдаётся устаревшая
> версия(STALE) и делается подзапрос на прогрев кеша(EXPIRED)
>
> Проблема заключается в том, что подзапрос на прогрев кеша выполняется в
> блокирующем режиме. То есть основной запрос ждёт выполнения подзапроса.
> Указанная выше проблема не наблюдается, если в кеш класть всю страницу,
> поведение nginx соответствует документации. Клиенту отдаётся старая версия
> контента и делается неблокирующий подзапрос на обновление.

На текущий момент background update реализован так, что он блокирует основной
запрос, если запущен в подзапросе. Это как раз ваш случай.
В таск https://trac.nginx.org/nginx/ticket/1249 я аттачил патч, который должен
это вылечить.

[..]

--
Roman Arutyunyan
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

Re: fastcgi cache background update ssi подзапросов

Roman Arutyunyan May 10, 2017 01:20PM

Re: fastcgi cache background update ssi подзапросов

metalfm1 May 11, 2017 03:58AM

Re: fastcgi cache background update ssi подзапросов

Roman Arutyunyan May 31, 2017 01:38PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 309
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready