Running with Scissors. RTE.ie's path to caching with Varnish

Running with Scissors. RTE.ie's path to caching with Varnish

My presentation at Varnish Software Summit London

52bf15d69aec37a732663a1742006bb3?s=128

John G. Moylan

April 10, 2014
Tweet

Transcript

  1. Running with Scissors RTE.ie’s path to caching in Varnish Varnish

    Summit London 10th April 2014 John Moylan - http://8t8.eu
  2. RTÉ Digital

  3. PLATFORMS

  4. Started working with RTÉ.ie in 1999 The internet was a

    very different place
  5. In the beginning there was squid

  6. Squid V. Varnish Lessons learned

  7. Then there was Varnish Ram doesn’t come in 64MB sticks

    anymore.
  8. Then there was Varnish Bandwidth isn’t counted in Mb/s anymore

    • 2001 10Mb’s • 2014 40Gb/s excluding CDN 409,600% Increase
  9. The great thing about mod_rewrite is it gives you all

    the configurability and flexibility of Sendmail. The downside to mod_rewrite is that it gives you all the configurability and flexibility of Sendmail.'' -- Brian Behlendorf Apache Group With Great Power Comes Responsibility
  10. The great thing about VCL is it gives you all

    the configurability and flexibility of Sendmail. The downside to VCL is that it gives you all the configurability and flexibility of Sendmail.'' -- John Moylan RTÉ Digital With Great Power Comes Responsibility
  11. Scope #don't cache ajax requests if (req.http.X-Requested-With == "XMLHttpRequest") {

    return (pass); } Whoops! Scope
  12. Scope # don't cache authenticated sessions if (req.http.Cookie && req.http.Cookie

    ~ "(wordpress_|PHPSESSID)") { return(pass); } Whoops Scope
  13. Lessons learned 1. Scope special conditions properly 2. GET’s and

    HEADS no longer work for checking cache issues Third party web app developers: Please don’t break the web GET’s should not have side effects (and while I’m on my soapbox, please use proper status codes)
  14. Old School Monitoring RRDTool RPS, Bandwidth, pagefaults, Hit Ratio, FD’s,

    CPU, Memory Grep’ing, cut’ing, sort’ing origin server logs Plus GET’s are normally GET’s. Cache is dumb
  15. Varnish Monitoring VCS VAC Varnishlog Varnishstat Newrelic PyVarnish

  16. Varnish Monitoring PyVarnish https://github.com/redsnapper8t8/pyvarnish

  17. Thanks for listening Questions?