I have strange problem with nginx microcache. When nginx serve STALE content, it takes too long. My actual microacha part in config:
...
fastcgi_cache biznisto.sk;
fastcgi_cache_bypass $skip_cache;
fastcgi_cache_key "$scheme$request_method$host$request_uri$rt_session";
fastcgi_cache_valid 200 301 302 5m;
fastcgi_cache_use_stale updating error timeout invalid_header http_500;
fastcgi_cache_lock on;
fastcgi_cache_revalidate on;
fastcgi_cache_background_update on;
fastcgi_pass_header Set-Cookie;
fastcgi_pass_header Cookie;
fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
add_header X-Cache $upstream_cache_status;
...
Screens STALE - wait 565ms HIT - wait 59ms
Any suggestions? Спасибо
Директива fastcgi_cache_background_update позволяет обновлять просроченный элемент кэша, пока устаревший кешированный ответ возвращается клиенту.
Если, однако, ответ возвращается полностью, но обновление еще не завершено, оно задерживает последующие действия, включая обработку дополнительных запросов к тому же соединению и / или закрытие соединения.
Такое поведение гарантирует, что: