[ic] JavaScript Ajax library choice

Jon Jensen 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 
highly-trafficked site.

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?


Jon Jensen
End Point Corporation

More information about the interchange-users mailing list