Thursday, 14 February 2008

Lyme vs Lamp I

As part of a presentation at SPA2008 that I'm involved in, I'm doing a bit of load testing on Lamp and Lyme. LAMP is Linux + Apache + MySql + PHP, and LYME is Linux + Yaws + Mnesia + Erlang. (Mnesia is the Erlang database, Yaws is the Erlang web server).

Interestingly, it would seem that in community there is now a precedent to name erlang projects after diseases/conditions, since yaws and lyme are both diseases. AND mnesia used to be called amnesia. Maybe I'll develop a killer app in Erlang called ankylosing spondylitis. Just kidding.

So, there is a rather well-known comparison of Apache and Yaws, but I'd like to go a step further. I'd like to know how a complete web application stack performs under load testing. As an initial comparison, I'll do Lyme and Lamp, and then move on to some others. I would like to have 3 scenarios, a static page only, a dynamic page and a dynamic page with a database backend.

Exactly how to construct these scenarios are still unclear, so suggestions are welcome.

Why test? Why yet another performance benchmark?
- Because it's easy. It's much easier to test something (relatively) objectively, and then wave the results in the air to prove your point. It's much harder to debate the merits of technical choices in the real world, where we have constraints such as budget, skills availability, culture, vested interests etc.
- It creates conversation. Which is a good thing. No flame wars please.

I'll be using Ubuntu 7.10 and Tsung and will publish everything, including configuration file, source files etc. etc.

Lyme vs Lamp II - The first graph arrives
Lyme vs Lamp III
Lyme vs Lamp IV


tea42 said...

Looking forward to it.

Ricardo_sdl said...

In the dynamic page test you can test an algorithm to tell if a number is prime.