-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use Varnish cache instead of Squid proxy #194
Comments
You may also want to look into using XRootD for your cache (Xcache). Documentation can be found here: https://xrootd.slac.stanford.edu/doc/dev56/pss_config.htm |
@jpecar It could be interesting to re-run the performance experiments I did with TensorFlow startup time for the tutorial, see https://multixscale.github.io/cvmfs-tutorial-hpc-best-practices/performance/, to check how much the (mainly cold) startup times improve with Varnish vs Squid proxy. |
Gathered some numbers: reference: local eb repo on NFS: private stratum1, direct: private stratum1 + squid, cold cache: private stratum1 + varnish, cold cache: eessi from aws + squid: eessi from aws + varnish: Interestingly initial fetch from aws s1 on varnish takes about 3x longer. One needs to decide whether that's acceptable for their local env or not. Our prod env is now made of private S1 with two varnish instances (in-memory only), configured with fallback director to prefer local S1. |
Probably what is more interesting to look at is what the performance looks like if we are hammering squid/varnish (imagine an 8k process MPI job). From what I read varnish should be better at handling lots of simultaneous requests (which means less instances required per site) |
Yes. In our env I basically cannot avoid things like R/Bioconductor in tight loops of tens of thousands invocations ... and those have brought our nfs filers to their knees in the past. |
Due to squid's age there's a strong motivation to use something more modern and faster. Varnish is a reverse proxy, typically used as a "web application accelerator" but can be used with eessi scenario due to how cvmfs works.
Attached is a mashup of some existing cvmfs+varnish configs I found online (mainly caching logic) with addition of eessi backends and some logic to use them when url looks like it wants them. It is showing signs of life and already offers lower loading latencies on initial cold cache but can of course be polished further.
eessi.vcl.txt
The text was updated successfully, but these errors were encountered: