On Sun, Aug 26, 2001 at 08:20:09PM -0500, Ian Bicking wrote:
> Tavis Rudd <[EMAIL PROTECTED]> wrote:
> > 3) You write:
> > "WebWare uses a threaded model. While in some ways makes
> > things simpler, it makes many things more complicated.
> > Also, because of the Python global interpreter lock, if you
> > have more than 1 CPU, WebWare won't actually use very much,
> > if any of the additional CPUs since only one thread can run
> > at a time. SkunkWeb uses a forking process model, which
> > makes resource sharing more complicated in certain
> > circumstances, it will fully utilize all available
> > processors," ... "so SkunkWeb scales better."
> >
> > All of this is true, but the final statement is unproven.
> > There are many factors involved and realistic benchmarks
> > are needed before such a statement can be made.
>
> In particular, in most instances the bottleneck will be on non-CPU
> resources.
Which, if you use output caching, you tend to remove these
bottlenecks. In any event, there is still no point to throwing an SMP
box at WebWare.
> In that situation resource pooling may be more important
> than utilitizing multiple CPU's efficiently. Real performance will
> likely have to take into account the efficiency of the database, file
> system, and any other resources. Allowing those other resources to
> scale may very well be more important to allowing the entire system to
> scale, than is the CPU-scalability of one component (the respective
> python framework).
Like I said, if you sufficiently cache your output such that your
database is not your problem, CPU does become the bottleneck.
> Of course, that's all only a maybe -- real performance only is
> meaningful in context, and only really by way of benchmarking.
This is definitely true. Performance is always application specific.
> Scaling is only a way of describing one attribute of that performance.
> Perhaps the asymptotic performance of Skunkweb will outperform Webware
> for load N (for large enough N). But down that road leads Mindcraft.
How true.
I must apologize to people for the errors that people have found in
the FAQ thus far. My only excuse is that I don't have a whole lot of
time to reevaluate each of the N application servers on the planet all
that often, and as such, there are errors (mostly in the time domain).
Drew
--
print(lambda(m,d,y):['Sun','Mon','Tues','Wednes','Thurs','Fri','Satur'
][(lambda(m,d,y):(23*m/9+d+4+y/4-y/100+y/400)%7)(m<3and(m,d+y,y-1)or(
m,d+(y-2),y))])(map(int,raw_input('mm/dd/yyyy>').split('/')))+'day'
_______________________________________________
Webware-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/webware-devel