[Seaside] Benchmark proposal
vincent.girard-reydet at f4-group.com
Wed Jan 17 10:06:25 UTC 2007
As a follow-up to the discussion about performances, I'de like to
present the benchmark we have performed to compare Seaside to Java and
PHP. All comments and critics welcomed. The idea is to try to define a
benchmark that we could use to compare different web server solutions
using Smalltalk, so we'd be able to advice people about which tools to
use in what situation.
The benchmark we drove was rather small, and perhaps not the best we
could have thought of, but here it is.
1st, we measured the pure response time of the solution: using the same
server (Debian sarge, 1 GB RAM, SATA2 drives, PentiumIV 3GHz, don't
known the cache size, 100Mb/s LAN), we built a very simple page (hello
world type) using Java, PHP and Seaside. We then attacked the server
from another machine on our private LAN, using siege. We changed the
number of simultaneous users and the number of queries. Then we used the
results of siege to deduce the page availability. In parallell, we
measured the CPU and memory consumption using top with refresh rate of 0.1s.
2nd, we performed the same test, but with 3 machines running siege in
parallell. This changes a little bit, because now we have true
parallelism of requests. As before, we used siege results to deduce the
respoinse rate and time.
3rd, we built a simple web page that performs a huge query to a MySQL
database. Again, we measured the response time. Note that we did not
develop something particular, aka connection pools or stuff like that.
4th, we built a complex web site (similar to the shopping cart example
of Seaside) in the 3b languages. We launched 48 instances of a program
that browses the site automatically (can't remember its name), and then
measured the remaining load using siege.
I'll post the results as an answer, I need a bit of reformatting before.
More information about the Seaside