{"id":833,"date":"2014-09-16T14:13:52","date_gmt":"2014-09-16T12:13:52","guid":{"rendered":"http:\/\/blog.jeremm.fr\/?p=833"},"modified":"2014-09-24T19:37:32","modified_gmt":"2014-09-24T17:37:32","slug":"varnish-multiple-storage","status":"publish","type":"post","link":"https:\/\/blog.jeremm.fr\/?p=833","title":{"rendered":"Varnish multiple storage"},"content":{"rendered":"<p>Par d\u00e9faut, si vous utilisez la configuration en malloc sans option, varnish cr\u00e9e un espace de stockage nomm\u00e9 s0 en ram.<br \/>\nMais vous pouvez utiliser plusieurs stockages en ram ou sur disque pour garantir des performances en fonction de votre besoin.<br \/>\nPar exemple, pour qu&rsquo;un site ne remplisse par le cache et impacte sur un autre :<br \/>\n&#8211; Dans le fichier \/etc\/default\/varnish<\/p>\n<pre lang=\"bash\">DAEMON_OPTS=\"\r\n...\r\n-s default=malloc,64m \\\r\n-s foo=malloc,128M \\\r\n-s bar=malloc,128M \\\r\n...\"<\/pre>\n<p>&#8211; Dans vcl_backend_response (4.0) :<\/p>\n<pre lang=\"cpp\">if (bereq.http.host ~ \"foo\") {\r\n       set beresp.storage_hint = \"foo\";\r\n} else if (bereq.http.host ~ \"bar\") {\r\n       set beresp.storage_hint = \"bar\";\r\n} else {\r\n       set beresp.storage_hint = \"default\";\r\n}\r\n<\/pre>\n<p>ou vcl_fetch (3.0) :<\/p>\n<pre lang=\"cpp\">if (req.http.host ~ \"foo\") {\r\n       set beresp.storage = \"foo\";\r\n} else if (req.http.host ~ \"bar\") {\r\n       set beresp.storage = \"bar\";\r\n} else {\r\n       set beresp.storage = \"default\";\r\n}\r\n<\/pre>\n<p>Par exemple, en fonction du TTL :<br \/>\n&#8211; Dans le fichier \/etc\/default\/varnish<\/p>\n<pre lang=\"bash\">DAEMON_OPTS=\"\r\n...\r\n-s ram=malloc,1G \\\r\n-s disk=file,\/space\/varnish\/storage,10G \\\r\n...\"<\/pre>\n<p>&#8211; Dans vcl_backend_response (4.0) ou vcl_fetch (3.0)  :<\/p>\n<pre lang=\"cpp\">sub vcl_backend_response {\r\n       # default storage\r\n       set beresp.storage = \"ram\";\r\n...\r\n       if (beresp.ttl > 86400s) {\r\n              set beresp.storage = \"disk\";\r\n       }\r\n}                                                                                                                                                                                                   <\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Par d\u00e9faut, si vous utilisez la configuration en malloc sans option, varnish cr\u00e9e un espace de stockage nomm\u00e9 s0 en ram. Mais vous pouvez utiliser plusieurs stockages en ram ou sur disque pour garantir des performances en fonction de votre besoin. Par exemple, pour qu&rsquo;un site ne remplisse par le cache et impacte sur un <a href='https:\/\/blog.jeremm.fr\/?p=833' class='excerpt-more'>[&#8230;]<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[35,80,79,9],"_links":{"self":[{"href":"https:\/\/blog.jeremm.fr\/index.php?rest_route=\/wp\/v2\/posts\/833"}],"collection":[{"href":"https:\/\/blog.jeremm.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jeremm.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jeremm.fr\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jeremm.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=833"}],"version-history":[{"count":14,"href":"https:\/\/blog.jeremm.fr\/index.php?rest_route=\/wp\/v2\/posts\/833\/revisions"}],"predecessor-version":[{"id":849,"href":"https:\/\/blog.jeremm.fr\/index.php?rest_route=\/wp\/v2\/posts\/833\/revisions\/849"}],"wp:attachment":[{"href":"https:\/\/blog.jeremm.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=833"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jeremm.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=833"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jeremm.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=833"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}