I am currently looking for different ways of dealing with a high number of requests in a really simple API. The requests will basically store/read some values in Redis. This API will be deployed in a small number of Amazon Micro instances, using the default configuration and running Ubuntu Server 13.04.
I have been studying Erlang for a couple of months, so I was really curious to see how it would perform in such environment. I decided to create a really simple Webmachine application and evaluate it together to the Rack and Sinatra ones.
I believe that benchmarks are often misleading and most of people tend to read “the fastest response” as a proof to “A is better than B”. I would like to make clear that these results don’t intend to “proof” anything. They are just the results of the experiments I am working on and those experiments have a specific set of requirements and constraints.
You can find the application source codes at https://github.com/elvio/api-benchmark.
I am open sourcing a project that I have been using a lot lately. You can easily define routes and some rules...
Open sourcing a lib I created to benchmark Rails apps, using ActiveSupport::Notifications