Hey Tobias, Tobias Geerinckx-Rice <m...@tobias.gr> skribis:
> On 21/03/17 17:43, Ludovic Courtès wrote: >> I think there’s room for improvement in our nginx config at >> <https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/hydra/nginx/mirror.conf>. >> >> For instance, I just discovered ‘proxy_cache_lock’ while looking at >> <http://nginx.org/en/docs/http/ngx_http_proxy_module.html>; looks useful >> in reducing load on hydra.gnu.org. Surely there are other ways to tweak >> caching. > > Indeed! For reference, here's my cache configuration. > > That's right. Now you can all¹ steal some criminally overpriced Belgian > bandwidth! Heheh. :-) > limit_except GET { deny all; } > proxy_pass SUPER_SEKRIT_BACKEND; > > # https://www.nginx.com/blog/nginx-caching-guide > add_header X-Cache-Status $upstream_cache_status; > > proxy_cache default; > # We allow only GET requests, so don't waste key space: > proxy_cache_key "$request_uri"; > proxy_cache_lock on; > proxy_cache_lock_timeout 3h; #yolo > proxy_cache_use_stale error timeout > http_500 http_502 http_503 http_504; I didn’t fully understand the docs for the last 3 directives here. For instance, what happens when 10 clients do GET /nar/xyz-texlive? Do the 9 unlucky clients wait for 3 hours and then get 404? Anyway, thanks for sharing your tips. :-) > Entirely off-topic, but this 'tude is a part of what drew me to Guix in > the first place. So, like, thanks, in general :-) :-) Ludo’.