[Seaside] Swazoo vs. Apache benchmarks

Philippe Marschall philippe.marschall at gmail.com
Sun Feb 10 19:47:34 UTC 2008


2008/2/10, Janko Mivšek <janko.mivsek at eranova.si>:
> Dear Web Smalltalkers,
>
> In light of our last debate about Swazoo in comparison to Apache and out
> of curiosity I did some benchmarks of them to clarify our position on
> the web serving scene. Here are the preliminary results in a table:
>
>         http://www.swazoo.org/benchmarks/swazoo-vs-apache.html
>
> As you see Swazoo is not bad at all, only 4x slower from Apache on small
> files on VW! On Squeak it is 18x slower. For a 100KB file VW it is 12x
> slower while Squeak is 40x.
>
> I did benchmarking on Gemstone too but those results are currently quite
> disappointing. Probably because Hyper is not so optimized as the new
> Swazoo 2 HTTP server, so that porting a new Swazoo there would help too.
>
> 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.

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.

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.

Cheers
Philippe


More information about the seaside mailing list