Scaling Seaside in Cincom Smalltalk
We announced that we were going to support Seaside in the next major release of Cincom Smalltalk, and since then, some people have said "you already have a port; what are you bringing to the table?"
Well, Glorp (persistence in an RDBMS) is one thing - but scaling is another. I downloaded WAPT, and ran a few simple tests. I only have the demo version, so I was limited to simulating 20 users. I should also mention that I'm running Seaside on my MacBook Pro, and using Windows in Parallels to run the tests.
With that out of the way, here's what I tested: Seaside 2.8 in Squeak (using the "one click experience" image), Seaside 2.7 on VW, and Seaside 2.8 on VW - the latter required the under development release that's coming. Here's a summary of what I got:
| Platform | Sessions | Avg Sessions per Second | Avg Pages per Second |
| Seaside 2.7 on VW 7.5 | 97 | 1.62 | 17.9 |
| Seaside 2.8 on Squeak | 370 | 6.17 | 48 |
| Seaside 2.8 on VW 7.6 | 582 | 9.7 | 79.4 |
Looking at that, I think you can see one major benefit of having us actively work on Seaside; by rationalizing the server, we've improved the scalability a lot. The test script I used in WAPT was pretty basic - launch the Counter demo, and then just increment to 4, and decrement back down to 0.
Also relevant is this: In Seaside 2.7 on VW, pages per second started off at 34, and then dropped to 10 by the end of the one minute test. Squeak dropped from 50 to 45.5, which is pretty stable. VW 7.6 with Seaside 2.8 started at 81, and dropped to 79.5 - which is even more stable.
Technorati Tags: smalltalk, cincom smalltalk, web2.0, scaling


Comments
[John M McIntosh] November 19, 2007 2:26:47.567
I assume this is on os-x 10.5? I'll note that in 10.5 they do processor affinity selection for process, this appears to make the Squeak VM run better since it will take upwards of 100% of a CPU, versus swapping back and forth between CPUS which I gather is costly.
PS and you're cheating since Squeak's GC tuning dates from 1996, versus 10 years of hard learning for VW... So I have some suggestions for you to try with squeak just to see how they affect the numbers.
Actually...
[ James Robertson] November 19, 2007 6:31:20.135
Comment by James Robertson
Actually, it's 10.4.11. Haven't gotten Leopard yet
WAPT Script
[Esteban] November 19, 2007 6:35:03.069
Can you share with me the script you used to test the server?
Where is the 7.6 image available for download?
Regards.
Re: Scaling Seaside in Cincom Smalltalk
[ James Robertson] November 19, 2007 7:32:39.413
Comment by James Robertson
You have to sign up for vw-dev (which is simple). Visit this page
Extended
[Esteban] November 19, 2007 7:40:05.641
Can you run the test for 5 minutes or more?
[Carl Gundel] November 19, 2007 14:18:27.223
That IS cool. Comparisons to Squeak may not mean much, but comparisons to VW 7.5 are interesting. Did you try comparing Seaside 2.8 on VW 7.5 to Seaside 2.8 on VW 7.6?
Re: Scaling Seaside in Cincom Smalltalk
[ James Robertson] November 19, 2007 15:24:20.192
Comment by James Robertson
At present, the 2.8 port is dependent on the next release of CST