Nginx在后台缓存更新期间没有响应

时间:2019-01-16 14:47:46

标签: node.js nginx caching nginx-reverse-proxy nginx-config

我正在将Nginx用作页面加载缓慢的Node应用程序的缓存和反向代理。我已将Nginx配置为在后台进行更新时提供页面的过时版本,但是遇到了以下问题:尽管页面的过时版本被非常快速地返回,但随后的一些静态资源请求(无论它们是否由Nginx提供)或代理到Node)需要很长时间才能完成。响应时间或多或少对应于在后台更新缓存页面所需的时间,这给我的印象是,在更新缓存时,请求以某种方式挂起。

我的缓存配置如下:

proxy_cache_path /root/cache levels=1:2 keys_zone=my_cache:8m max_size=10g inactive=2d use_temp_path=off;

location /xxx {
    add_header X-Cached $upstream_cache_status;
    add_header X-Cache-Date $upstream_http_date;
    proxy_cache my_cache;
    proxy_cache_use_stale updating error timeout;
    proxy_cache_background_update on;
    proxy_cache_valid any 10m;
    proxy_pass http://127.0.0.1:3000/xxx;
}

这就是通常的时间安排。第一个请求(240毫秒)是页面本身,需要11秒响应的请求只是静态文件。

enter image description here

0 个答案:

没有答案