[erlang-questions] Erlang Web Servers challenge

Joe Armstrong erlang@REDACTED
Wed Jul 6 10:48:04 CEST 2011


On Mon, Jul 4, 2011 at 5:11 PM, Zabrane Mickael <zabrane3@REDACTED> wrote:
> Hi guys,
> I'd like your help for this small Web servers challenge.
> The idea is ver simple: measure "how fast" you can serve a "100 bytes" file
> (attached as "small.html")

Why measure this? Serving static content is one of the least
interesting things I can think of
to study. Any network worth the name won't bother to access the "root"
server but will cache the
content upstream.

How fast you can serve up dynamic content is far more interesting,
since it can't be cached.
Something that evokes a computation on the server is far more
interesting, and something that stresses
the concurrency.

How about processing send a GET /fac/N command (ie return factorial N)
The server should

1) send factorial N
2) wait 30 seconds
3) send factorial N (again)
4) close the socket

The 30 seconds gap will cause lots of nastiness in the server. Such a
benchmark tests many useful things
(for example the inter-session protection mechanism, as soon as we
perform computation on behalf of
the client we have to protect server sessions against each other,
secondly handling concurrency. If we wait
30 sections and do 10K requests/sec, we going to build up 300K
processes, which tests a lot of internal stuff)

 /Joe


> in "less than 01 second" by using one of the following web servers:
> - Yaws (http://yaws.hyber.org/download/yaws-1.90.tar.gz)
> - Mochiweb (https://github.com/mochi/mochiweb)
> - Misultin (https://github.com/ostinelli/misultin)
> - Cowboy (https://github.com/extend/cowboy)
> - Bare metal web server using "gen_tcp"
> The rules are very simple :
> 1. The first time you served the file, you MUST read it from disk.
> All subsequent requests to that file can use any caching mechanism!
> 2. Any (hidden) trick is allowed (eg. prim_inet, SMP enabled ...)
> 3. Erlang versions R14B to R14B03
> 4. The HTTP client to use for this benchmark needs to be "Apache AB"
> (http://httpd.apache.org/docs/2.0/programs/ab.html) with:
> $ ab -n 200000 -c 100 -t1 -k "http://127.0.0.1:8080/small.html"
> I hope that the authors if these web servers will also contribute to this
> bench as they
> know their software better than anybody else.
> Challenge's open ;-)
> Regards,
> Zabrane
>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
>



More information about the erlang-questions mailing list