Mike McGrath wrote:
On Fri, 23 Jul 2010, Jeroen van Meeuwen wrote:
> Mike McGrath wrote:
> > I've been looking at a better proxy solution. I initially pushed back
> > against varnish because it would complicate the environment, and this
will
> > but since apache isn't cutting it I figured a slow
incremental change is
> > the best approach. So what I'm proposing is this:
> >
> > httpd(proxy) -> varnish(proxy) -> haproxy(proxy) -> httpd(app)
> >
> > So a couple of reasons why I'm choosing to do design, especially since,
in
> > theory, varnish can completely replace both httpd and
haproxy in that
> > picture.
> >
>
> I do not have all that much positive experience wrt. Varnish's efficiency.
> Have you researched any other alternatives?
>
Define efficiency, load times, disk space, cpu usage?
Admittedly I'm not an expert in Varnish, but we run it over at Fedora Unity
(behind apache, as a caching engine for plone/zope). Jonathan Steffan has a
lot more expertise on Varnish - I let him know about this thread in case he
would be willing to allow us to pick his brain. Pages remained presenting
their cached version after editing, article locks are shown where in fact
there were no locks, that sorta thing.
I suppose sinking one's teeth into it would suffice so resolve such problems,
but for our deployment Varnish bloated the system more then we had in mind in
terms or reducing the load on the backend application. This, in our case, had
to do with memory consumption more so then with anything else.
> In other architecture designs (large or heavily loaded rails
deployments
for
> example), the concept of assets is introduced. Would such
functionality
serve
> purpose?
>
I've not used assets before, what's the scoop?
With mod_passenger for Apache, *everything* that you hit on the VirtualHost
goes through the Passenger stack. It has learned to not parse the contents of
/images/, sorta speak, yet the client locks a thread and makes the the rather
bloated httpd+passenger run in circles even for just a little while -per
"asset".
With assets -and I'm not sure that term is accurate "across the board"-, a
bunch of smart Ruby-on-Rails webservers (with mod_rails/mod_rack and such) no
longer serve any content that is 1) static or 2) generated to be cached, and
not subject to any Access Control. The latter would, in the case of Ruby on
Rails, apply to haml/sass content, but in the case of Fedora would (maybe)
apply to the mirror lists. These assets can then be hosted on a light-weight,
stupid and efficient webserver -even without caching such would off-load the
backend application servers considerably.
-- Jeroen
PS. Sorry, this had been sitting in my Drafts way too long...