Varnish on Surfer
The web-server 'surfer' was given a coat of varnish in order to accelerate http access. This http-accelerator is necessary because the MoinMoin wiki is quite slow at serving requests, as it spawns many python processes for each page request, which can quickly overwhelm 'surfer'. Varnish sits in front of the Apache web server and serves cached page responses. It is bypassed when using the https url, to allow moinmoin logins for edits.
User Notes
In order for varnish to cache the wiki web pages, it must ignore cookies. This has the effect of spoiling user login authentication, which makes editing impossible. The workaround for users who edit pages is to bypass varnish by:
- using the secure address, like this:
https://surfer.nmr.mgh.harvard.edu/fswiki
Note: it may be necessary to delete all your cookies and passwords on your browser prior to using the 'https' link to do edits to clear-out anything using the 'http' address.
Admin Notes
The varnish config file is here: /etc/varnish/default.vcl. It has been edited to drop cookies for 'fswiki' and 'wiki' URLs. The apache web server was changed to listen on port 8080 instead of the default 80. varnish listens on port 80, and forwards cache misses and https connections to port 8080.
These utilites can be used to monitor varnish, each has a man page:
- 'varnishhist' - displays a histogram of cache hits and misses
- 'varnishstat' - display stats, including raw hit and miss counts
- 'varnishtop -b -i TxURL' - display URLs that are getting passed to the server (ie. misses)
- 'varnishtop -i RxURL' - display most recently requested URLs
Should the varnishd malfunction, to restart, as root on surfer, type:
service varnish restart
See also:
http://moinmo.in/InstallationReport (section Caching static content)