Re:Varnish in Five Acts
by robmil on Friday May 03, 2013 @04:24PM
(#5652422)
We eventually abandoned Varnish because the purging was too far from our application logic. nginx serves static content just as fast as Varnish does, and so getting our application to write static HTML files that were redirected to via nginx was just as quick as Varnish but easier to purge when needed.
Re:Varnish in Five Acts
by mattwalker on Friday May 03, 2013 @04:06PM
(#5652320)
Has anyone found a decent Varnish plugin for Sublime Text/Textmate? There's this -- https://github.com/zephirworks/Varnish.tmbundle -- but it hasn't been updated in a couple years and it fails for moderately complex configs.
The Python plugin works reasonably well for plain VCL syntax highlighting.
1 for each service. If we need to scale beyond one per service, I plan on doing sharing across varnishes based on url so we don't have to propagate bans.
Re:Varnish in Five Acts
by j7 on Friday May 03, 2013 @02:55PM
(#5651907)
Varnish is pretty awesome, but gets complicated when you have user-specific content. You can use things like edge-side includes and such, but it becomes more than plug and play at that point.
Re:Varnish in Five Acts
by robmil on Friday May 03, 2013 @04:22PM
(#5652408)
For a lot of sites, either using ESIs or including dynamic content via AJAX is a fairly simple solution that still leaves you with the benefits of caching.
Re:Varnish in Five Acts
by megaman821 on Friday May 03, 2013 @04:27PM
(#5652441)
For light page customizability like Hello Username. I will include the username in a browser cookie and use some JavaScript to insert it into the page. This way I can still use Varnish to serve most pages.
Re:Varnish in Five Acts
by IbJacked on Friday May 03, 2013 @03:46PM
(#5652226)
I believe he is saying it becomes less plug and play. By saying "it becomes more than plug and play at that point," he means it becomes more effort than plug and play.
That's my read on it, anyway. It always gets dicey interpreting the intent of others :)
But yeah, it just got a bit painful after a while.
The Python plugin works reasonably well for plain VCL syntax highlighting.
Here is the default:
sub vcl_hash { hash_data(req.url); if (req.http.host) { hash_data(req.http.host); } else { hash_data(server.ip); } return (hash); }
example.com/foo
and
another.com/foo
without a cache collision.
we don't care about the host as everything is of the same entity service type.
Do you have just 1 varnish instance or two?
I never did fully solve the ban propagation problem when running multiple redundant varnish instances.
That's my read on it, anyway. It always gets dicey interpreting the intent of others :)
thanks.