[aida] Yes, it works - and fast too! (was [Q] File Upload/Download Server, Comanche or Swazoo)

Janko Mivšek janko.mivsek at eranova.si
Sat Aug 2 13:06:45 CEST 2008

Hi all,

Göran's work encouraged me to run benchmarks more carefully and 
repeatably to minimize impact of OS file system performance and as you 
can see, Kom and Swazoo are actually close in upload performance, about 

Big apology to Squeak community for that original 1.5MB/s figure, which 
obviously came out from only one test, instead of repeatable to avoid 
other impacts. In new tests I  didn't change Swazoo code, I just made an 
additional upload demo on Aida.

Here are results in seconds of repeatable test for two files, 572MB and 
102MB ones:

572MB file (600.037.00 bytes)

     Kom/Seaside   92  98 117 (avg 5.9MB/s)
     Swazoo/Aida  108 111 107 (avg 5.6MB/s)
     Swazoo/Aida   67  68  66 (avg 9MB/s)

102MB file (106.491.000 bytes)

     Kom/Seaside   18  35  25  32 (avg 3.9MB/s)
     Swazoo/Aida   16  16  17  16 (avg 6.6MB/s)
     Swazoo/Aida    5   5   6   5 (avg 20MB/s)

As you can see for larger files we are very close while for smaller file 
Swazoo is still faster. Also you can see that Kom results vary a lot 
while Swazoo ones are stable. It seems that this is due to bigger amount 
of garbage generation by Kom (this can also be seen from memory 
consumption variations) while Swazoo garbage is minimal.

In any case we can conclude with quite certainty that on Squeak we 
reached the upload speed limit near 6MB/sec. To be faster we will need 
to optimize TCP socket and file VM modules.

Tests were done on Damien's squeak-dev 3.9 with both Aida and Seaside 
installed, with Swazoo 2.2beta and Göran's Kom patch. Done on openSuse 
10.0 64bit on 3.2GHz PC, bogomips: 6400.

Best regards

Göran Krampe wrote:

> Ok, I just tested this again using this setup on my Dell D420 (small
> Dell laptop, bogomips: 2394 according to /proc/cpuinfo) using:
> - 3.8.1-6747 image
> - gokr na yoda:~$ squeakvm -version
> 	3.9-8 #1 Tue Mar 25 22:39:11 UTC 2008 gcc 4.2.3
> 	Squeak3.9alpha of 4 July 2005 [latest update: #7021]
> 	Linux vernadsky #1 SMP
> - Xubuntu Linux yoda 2.6.24-19-generic #1 SMP
> I tested by loading my changeset into a Gjallar image and then using a
> firefox 3 browser on:
> 	http://localhost:8080/seaside/tests/alltests
> ...where there is an upload test. Ok the numbers:
> Local test with a file of size 731654144 took circa 138 seconds to
> upload giving approximately 5Mb/sec upload speed. Since Janko mentions
> 1.5Mb/sec for Swazoo this seems kinda good. :)
> The image size does not move an inch during this - but the CPU shows 95%
> load in top - looking closer at this it seems to be a side effect
> because Process browser tells me that the actual Process in Squeak doing
> the work is showing about 3% time! It is instead Morphic/idle that goes
> up. Squeak is also fully responsive as is the OS during the upload.
> I am sure this is related to other mechanisms in Squeak. And oh, yes,
> also tried a file of size 1463308288 (double size) giving eh, slightly
> larger upload time (not sure why).
> Did not succeed with a 2Gb+ file, not sure why, haven't investigated
> further. Code attached, it downloads files into ./seasidetmp
> regards, Göran

Janko Mivšek
Smalltalk Web Application Server

More information about the Aida mailing list