At 06:04 AM 8/13/99 +0000, Constantin Teodorescu wrote:
Amos Latteier wrote:
Usually it takes five requests to hang ZServer ;-) By default Zope uses 4 publishing threads. Each time you request a URL that put Zope in an infinite loop, there goes one more publishing thread. So after 4 evil requests you're locked up.
DANG !!!
That means that under a heavily used Zope server, some requests (N-4) are waiting for their turn to be executed?
Unlikely. It's more complex than this. In fact 4 is a reasonable number under most circumstances since most of the time is spent receiving the requests and sending back the responses which happens asynchronously. For example, at any given time, you may have something like 30 requests being received, another 30 responses being returned and 2 or 3 publishing threads running. However, if you wish you can control how many publishing threads run at once.
It doesn't fork multiple processed on request as Apache for example?
Not at all. You may wish to read up on Medusa's async sockets architecture which is actually quite efficient. Threading, forking and async approaches all have tradeoffs, but Medusa is no slouch! Find out more at http://www.nightmare.com/medusa
Let's put it in another way! Would it be Zope able to support (on a good and strong hardware) a Yahoo like server?
To host one of the say 10 most popular sites on the net you're going to have to do a lot of special things. For one, you cannot serve a site like this off a single machine no matter what app server your running ;-) I think that the going wisdom is that you can expect to get about a million hits a day from a reasonably cheap box running Zope. In any event performance figures are a subjective and slippery subject... -Amos P.S. DC will probably be making an announcement fairly soon which should significantly address scalability issues.