jon at endpoint.com
Sat Apr 4 17:15:20 UTC 2009
On Sat, 4 Apr 2009, Mike Heins wrote:
> There is a significant territory between the large massively- accessed
> site and the site with so little traffic it doesn't matter what you do.
> Interchange has only a few sites with backcountry.com traffic and we are
> never going to generalize solutions for them.
> But there are many sites with between 50,000 and 500,000 visitors per
> month. During peak access times it does matter what they are doing, as
> much for perceived performance as system load.
Yes, that's true, but even the lightly-trafficked sites can have huge
bursts of traffic from Digg, Twitter, or whatever, and being able to
withstand it gracefully makes the difference between a lot of new users
and a temporarily down website.
Premature optimization is expensive and often misguided, but not
optimizing at all leads to unhappy surprises.
I'm not telling you anything you don't know here. Maybe what I'm trying to
say is that at least some of the lessons of the very highly-trafficked
sites can be applied to the benefit of the less-trafficked sites as well.
> That's the whole point. The servlet isn't Interchange-based, but uses
> the data written by Interchange on session initiation.
What do you mean by "servlet"? Something like a minimal mod_perl handler
that hits the database? Or a standalone CGI? Anything like that is fine,
but would complicate the architecture and is exactly what I'd expect for a
For the less-busy sites, Interchange in PreFork mode is a great general
solution that works well for Ajax requests too. Reducing the number of
database requests, reducing the size of the session (or eliminating
session usage entirely for some Ajax requests by passing authentication in
the URL or POST body), etc. can improve performance without requiring a
whole new architecture.
> Those can benefit from some level of efficiency that allows them to
> Ajax-enable their sites.
So that's the crux: I don't know why you're assuming Interchange in
PreFork mode with appropriate optimizations is unsuitable. It's definitely
working for several very different sites I'm familiar with. But I guess
you must have already determined it just won't work for one of your
applications? Even if you add an additional app server or two?
End Point Corporation
More information about the interchange-users