+ All Categories
Home > Documents > Varnish for Beginners

Varnish for Beginners

Date post: 11-Feb-2022
Category:
Upload: others
View: 4 times
Download: 0 times
Share this document with a friend
13
Varnish for Beginners Shielding Drupal from the internet http://adammalone.net | http://drupal.org/user/1295980 | @adammalone By Adam Malone
Transcript

Varnish for BeginnersShielding Drupal from the internet

http://adammalone.net | http://drupal.org/user/1295980 | @adammalone

By Adam Malone

What is Varnish

http://adammalone.net | http://drupal.org/user/1295980 | @adammalone

● Reverse proxy HTTP accelerator

● Apache/Nginx

● Memory based

Varnish Installation

(yum|apt-get|brew) install varnish

CentOS installation requires varnish repo

http://adammalone.net | http://drupal.org/user/1295980 | @adammalone

Varnish Configuration

http://adammalone.net | http://drupal.org/user/1295980 | @adammalone

DAEMON_OPTS="-a :80 \ -u varnish -g varnish \ -T localhost:6082 \ -f /etc/varnish/adam.vcl \ -S /etc/varnish/secret \ -s malloc,256M"

backend default { .host = "127.0.0.1"; .port = "8234";}

sub vcl...

/etc/varnish/default.vcl /etc/sysconfig/varnish

VCL

subvcl_recvvcl_pipevcl_fetchvcl_delivervcl_error

http://adammalone.net | http://drupal.org/user/1295980 | @adammalone

return()pipefetchrestartdeliverpasslookuperror

VCL docsFour Kitchens VCL

request objsreqbesresp

Shielding Drupal from the Internet

http://adammalone.net | http://drupal.org/user/1295980 | @adammalone

Checking Varnish works

● Inspecting Headers

● Watch the network tab

● Check varnishlog (more later)

● isvarnishworking.com

http://adammalone.net | http://drupal.org/user/1295980 | @adammalone

Breaking Varnish

● Setting $_SESSION

○ Authenticated users do not benefit

○ Check {sessions} table

● Cookies

● Unique query paths

● .htaccesshttp://adammalone.net | http://drupal.org/user/1295980 | @adammalone

Varnish and Drupal

http://adammalone.net | http://drupal.org/user/1295980 | @adammalone

Comparison to other caches

● Drupal cache tables

● Boost

● MongoDB

● Memcache

http://adammalone.net | http://drupal.org/user/1295980 | @adammalone

Varnish Tools

● varnishstat

● varnishlog

● varnishncsa

● varnishhist

http://adammalone.net | http://drupal.org/user/1295980 | @adammalone

Extending Varnish

● ESI

● Varnish mods (vmods)

● Don't be too greedy when caching

● Don't deliver too promiscuously

http://adammalone.net | http://drupal.org/user/1295980 | @adammalone

Gotchas

Questions

[email protected]

http://adammalone.net

http://adammalone.net | http://drupal.org/user/1295980 | @adammalone


Recommended