Quoting Ian Bicking (ianb@...):
> ILU like CORBA? Huh...
That's the one. We have a services-based infrastructure, where remote
objects publish methods through ILU. This (theoretically) distributes
the processing load, and lets us balance load more evenly. Practice
does not work so cleanly, for lots of reasons, most of them bad, some
of them real problems with trying to put a narrowband channel between
the model and view components of the architecture.
> I'm not entirely clear what you mean here -- do you mean each box will
> run the entire application? We've discussed this stuff on the list, but
> no one yet has actually had the need to implement it -- ultimately I
> think we decided the best way to use Webware with multiple servers is to
> put some sort of session affinity into mod_webkit (or somehow structure
> it so that another balancer like Pound could ensure session affinity).
> Then presumably only the database needs to be shared, and sharing a
> database is easy.
Right now, we distribute objects via ILU, a services-based
architecture: the document rendering and input validation are
supposedly high-level, in Zope and its attendant python; the domain
objects live in ILU servers. Tomorrow, we plan to have a monolithic
app where it's all one big 200k line codeblob. The only exception is
the session object, which we expect to distribute in one way or
> Well, I don't think there's many very high volume sites using Webware,
> but I do think it is very robust. Lots of us have run Webware sites for
> long periods of time without problem -- I have a Webware AppServer
> that's been up for a month on a public site (I must have editing
> something a month ago, can't remember what), and it's not using too much
> memory or having any other problems; I'm sure other people have gone
> much longer. Under high load potentially there could be threading
> problems we haven't seen -- there actually was one that just came up,
> that Webware's __import__ overloading wasn't threadsafe, which it looks
> like Jason Hildebrand identified and solved (though it requires an
> update to Python itself, unfortunately).
Not what I would call exactly encouraging news, but maybe not totally
depressing. I'm not sure how Webware's __import__ overloading works,
or what it's used for, so I'm not sure how dangerous this really would
be, or why an update to the interpreter was required.
> Well, given enough effort you can always fix performance. After all,
> you don't have to use DTML in Zope -- you could implement key parts as
> Python products, wrap them in other structures that are simpler than
> DTML, etc. Ditto ZODB, which may also be a big bottleneck. But at some
> point you're no longer getting Zope's benefits, while still being
> penalized for performance, and restricted in the structure of your
There's a tradeoff inherent in a lot of those optimizations, such that
Zope's utility for content management disappears. That's not really
acceptable, if we're continuing to use Zope, and some kind of content
management would be required.
> I don't think mod_python would have many advantages over Webware --
> there's more infrastructure you'll have to build, and I don't think the
> performance will be significantly better.
That's the conclusion I was coming to.
> Twisted potentially could be faster than Webware, though I would
> question Twisted's stability as a platform, including the stability of
> its architecture. The asynchronous model seems to leave open more of a
> possibility that a bug in one part of the application will take down the
> entire server. The experience with Webware seems to be that the only
> fatal bugs like this are from buggy C modules (Postgres modules were a
> common problem at one time, though they must have improved since then).
Twisted -- in particular the Spread piece -- was something I
envisioned taking the place of ILU, not Apache. I think that's not
seeming as likely a candidate these days (hours?), either. But it
might still be used in distributing the system.
> More comparable frameworks to Webware would be something like SkunkWeb
> or Quixote, which I believe will have similar performance and stability
> to Webware. The distinction is between these is mostly stylistic,
> though Webware is the oldest and I suspect most used of these.
But Quixote has a couple large projects on it, I think? My concern
last time I looked at Quixote was that it didn't seem to have a
templating system, which made it very awkward to employ a web
designer in preparing the HTML. Am I misremembering (should I do more
Geoff Gerrietts <geoff at gerrietts dot net>
"Ordinarily he was insane, but he had lucid moments
when he was merely stupid." --Heinrich Heine