[Seaside] Swazoo vs. Apache benchmarks
philippe.marschall at gmail.com
Sun Feb 10 22:03:54 UTC 2008
2008/2/10, Janko Mivšek <janko.mivsek at eranova.si>:
> Hi Philippe,
> Philippe Marschall wrote:
> >> I think we can conclude that Swazoo (at least on VW for now) is actually
> >> able to serve quite demanding web sites, but as we already said, Swazoo
> >> is not there to compete with Apache but to be a simple starting step,
> >> which can later evolve if needed to the most demanding serving on Apache.
> > I can not agree at all. If we look closer at your numbers Squeak realy
> > even breaks the 1 MB/s barrier (B = bit?). Without any handbreaks on
> > and without any tuning Apache on my local machine serves 60 to 120
> > Mbyte/s. That's what a fast ethernet connection can theoretically
> > deliver.
> B=byte, b= bit. My faster Apache benchmark is 156MBytes/s which is
> therefore near yours results.
> > What's worse is that serving files with Squeak is not only slow but
> > also hogs the CPU. Since Squeak can use only one core serving files
> > with Squeak takes away desperatly needed CPU cycles from Seaside
> > (Seaside is a very inefficient framework). On a modern CPU Squeak can
> > only use a fourth of the available processing power. I do not want to
> > give any of that away because I don't use the right tool for the job.
> > But the real killer is that Squeak can not handle a sustained load. Do
> > something like:
> > ab -c 10 -n 1000000
> > http://127.0.0.1:9090/seaside/files/WADispatcherFiles/logo.png
> > This will toast your Squeak image. It will take a very long time
> > because Squeak is so slow and after that your Squeak image will still
> > hog the CPU and stop reacting.
> True, when you go over the max requests/s threshold, performance starts
> to deteriorate very fast. Apache seems to start intentionally breaking
> connections in that case.
I could not observe such a behavior, I had always 0 lost requests,
even for 10 million requests with 10 requests at a time. But honestly
some graceful performance degeneration under high load (eg. rejecting
new sessions) is certainly not the worst feature to have.
> > To sum up: there a problems for with Smalltalk is not the right tool.
> > Serving static files is such job. We should stop pretending that all
> > our problems are nails.
> As others already said, Swazoo is primary meant for our web frameworks
> while static file serving is just for some small stuff you usually have
> around. I'm doing benchmarks on static serving only to measure Swazoo
> strengths, nothing more. From memory serving results are therefore most
> interesting for us.
Yes, that is why I took
is stored in a literal. But even in this case I can not achieve a
throughput of more than 1.5 Mbyte/s. I would at least expect ten times
> Janko Mivšek
> Smalltalk Web Application Server
> seaside mailing list
> seaside at lists.squeakfoundation.org
More information about the seaside