[Haskell-cafe] Help me prove macid can scale! (Macid stress tests results for happs-tutorial toy job board disappointing so far.)

Thomas Hartman tphyahoo at gmail.com
Sun Oct 5 16:44:49 EDT 2008

From: tphyahoo <thomashartm... at googlemail.com>
Subject: Help me prove macid can scale! (Macid stress tests results
for happs-tutorial toy job board disappointing so far.)
To: HAppS

HAppS is a new, relatively unproven technology.

So I am asking myself this question. Will HAppS allow me to scale the
toy job board I created for happs-tutorial into a high-volume, high
concurrency, large-user count type job board? You know, the kind that
might make money?

I have done some preliminary testing to answer this question, and so
far the results have been disappointing.

I am hoping that I am doing something wrong, and that there is a way
of using macid effectively for more than just toy applications. If
there are solution for the problems I'm experiencing I will definitely
be integrating this knowledge into the tutorial, so stay tuned.

I am seeking feedback from HAppS experts and educated users on the
following questions:

    * Is building a heavy duty website like monster.com in HAppS a
realistic goal -- say, in the next twelve months?
    * Are there certain types of web apps that are unlikely to work
well with the HAppS web architecture?
    * Are there changes I can make to my toy app's architecture -- be
it data structures, buying new hardware, whatever -- that will enable
me to get good performance against the stress test described below and
in the demo?
    * Are there other HAppS stress tests in the public domain, and
what are the results so far?

A complete description of the stress test I did (basically, insert 200
users with 200 jobs apiece)  along with a runnable demo, is in the
tutorial preview at


(The actual stress test is disabled in the online demo because I don't
want to zap my server.)

But the summary is, it's slow, slow to start, and creates a huge
events file -- 356M. For around 40000 records. That's like, 8
megabytes per job, which is a few lines of text. OK, happs isn't a
database -- but still.

This is all is checked into darcs and tagged:

darcs get --tag='stress test'http://code.haskell.org/happs-tutorial

Thanks in advance for helping make happs usable in the real world!


More information about the Haskell-Cafe mailing list