[erlang-questions] Erlang Web Servers challenge

Jesper Louis Andersen jesper.louis.andersen@REDACTED
Wed Jul 6 12:43:19 CEST 2011


On Mon, Jul 4, 2011 at 17:11, Zabrane Mickael <zabrane3@REDACTED> wrote:

> The idea is ver simple: measure "how fast" you can serve a "100 bytes" file
> (attached as "small.html")

What are you trying to show with this benchmark? That is, what is the
goal of it? Serving a static file is something nginx and a couple of
Haskell HTTP servers are very good at (see the Warp-project). The main
problem is that what you are trying to show might not be reflected
very well from your test.

> The rules are very simple :

> 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"

This violates Rule 1 in Mark Nottingham's http benchmark advice:

http://www.mnot.net/blog/2011/05/18/http_benchmark_rules

Quote: "The most common mistake I see people making is benchmarking a
server on the same box where the load is generated. This doesn’t just
put your results out a little bit, it makes them completely
unreliable, because the load generator’s “steal” of resources varies
depending on how the server handles the load, which depends on
resource availability."

Is there any specific reason why you want to break that advice? Also,
Steve Vinoski did a talk at the recent Erlang Factory on Yaws and the
last part are benchmark and performance advice:

http://www.erlang-factory.com/upload/presentations/409/vinoski-ef-london-2011.pdf

I am with Joe here. Dynamically generated content is much more
interesting for real problems. Static files can be outsourced to a CDN
or Varnish easily. The reason you still serve them from the same
webserver is convenience.

-- 
J.



More information about the erlang-questions mailing list