No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 1 commit behind npxquynh:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bench
cuba
grape
hanami-router
hobbit
nancy
plot
rack-app
rack
roda
scripts
spec
tmp
.gitignore
.rspec
Gemfile
Gemfile.lock
README.md
config.ru
environment.rb
run_spec.sh
simulate.sh

README.md

Each web framework is evaluated 10 times, each time 10 second to see how many request it can handle. The starting point is in the file simulate.sh, the script itself will run the Ruby program to output how many requests each web framework handle per minute.

Web frameworks to test:

Tasks:

  • Basic GET request (/books)
  • Dynamic GET request (/books/:id)
  • POST

All the web framework are tested against 3 tasks. And to make the result fair, each task is run 10 times for each web framework.

The estimated run time is 8 frameworks x 3 tasks x 10 repetitions x 13 seconds each ~ 3120 seconds ~ 52 minutes

Results

Text result: plot/data

Visualization alt text

How to run the experiment

sh simulation.sh

By the end of the experiment, there are 3 *.txt file created in results/summary. They contains statistic metrics for each web framework:

  1. Average number of requests per second
  2. Standard deviation
  3. Max
  4. Min

Plot the result

gnuplot plot/plot.sh

References

The majority of the code in folder bench is taken from Bech Micro - by Luislavena.