[Seaside] Benchmark results for Aida/Web
ramon.leon at allresnet.com
Wed Jan 17 16:04:02 UTC 2007
> > I think it is honest to potential users of our web app
> servers to have
> > a concrete info about strengths and weaknesses of each offering.
> Yes, I completely agree.
> I doubt that a generic benchmark (or a set of generic
> benchmarks) can help you to evaluate the perfect web solution
> for your problem. That needs to be done on a per
> project/problem bases and there are people
> (consultants) that can help with that.
> It is well known that Seaside is hungry on resources and that
> you need to do load balancing earlier than with other
> approaches; it is also well known that Seaside provides an
> incredibly productive level of abstraction and makes it
> possible to build complex applications in days where others
> needs months to get the same thing.
> To use Seaside for a web application with 1'000'000 users I
> would say 'no' at first. Later on it comes clear that there
> are only 10'000 sessions expected at once. Probably I would
> still say 'no'. If you count 4 MB a session for a really
> complex web application with lots of state, this would mean
> you are required to have 40 GB of memory. If you now
> distribute that on 15 machines this becomes already
> reasonable and I would probably say 'yes'. Of course it also
> depends on what the customer wants: Probably this is cheaper
> to by a couple of linux boxes and get the application in half
> a year than to pay the salary of a whole army to develop a
> less powerful application during the 2 years.
> Maybe the project can be further split down as only the 1'000
> administrators require complex application logic and the rest
> are more or less static pages. I think this is where Seaside
> starts to be strong ...
> What I want to show is that there are so many factors and
> things to consider that cannot be caught with a generic
> benchmark. Therefor I see no benefit in doing that.
In total agreement. When people ask how fast is Seaside, they're asking the
wrong question. Asking how fast anything is, is the wrong question. The
right question should be, is it fast enough for "this particular
application". What are the requirements for "this application". Does the
definition of "fast" also include development time?
C# will blow the pants off Seaside in raw rendering speed, but it'd take me
two years and a few more developers to do in C# what I can do in Seaside by
myself in a few months. I can always just throw 3 times the hardware at
Seaside to get the speed of the C# app, and beat it to production by a year
and a half.
So how fast is Seaside... Well, that's not a question that can be answered
generically. If the question is simply, can Seaside scale, then the answer
is yes, look at dabbledb.com. Speed and Scalability are vastly different
things, and simplistic benchmarks often confuse the two.
Yes, Seaside requires more creative deployment to scale well, but it also
requires a fraction of the development time of other frameworks, so you've
got plenty of time to work out the deployment kinks. You've also got more
money for hardware, since you spent so much less on development, and
hardware is always vastly cheaper than programmers.
Seaside is a framework you choose when you learn to start asking the right
questions. So when people come in asking the wrong questions, giving them
the wrong answer isn't really helpful, let's teach them to ask the right
questions instead, that'll help the community grow more.
More information about the Seaside