Web framework benchmarks
Required tools
-
ruby, all tools are made inruby -
wrk- results are collected usingwrkcd `mktemp -d` && git clone https://github.com/wg/wrk -b 4.2.0 . && make && sudo mv wrk /usr/bin/
-
postgresql- results are stored inpostgresqlsudo dnf install postgresql{,-server}Or you can start and configure a Postgres from docker via
docker run -d -p 5432:5432 \ --name postgres \ -v /var/run/postgresql:/var/run/postgresql \ -e POSTGRES_HOST_AUTH_METHOD=trust \ -e POSTGRES_USER=postgres \ -e POSTGRES_DB=benchmark \ postgres:18-trixie docker exec -i postgres psql -U postgres -d benchmark < dump.sql -
docker- each implementation is implemented in an isolated container -
jq- processingdockermetadata -
docker-machine- required if you are onmacOS
Usage
Setup
bundle install
bundle exec rake configBuild
macOS, you need to use docker-machine to allow docker usage
for each framework
docker-machine rm default --force docker-machine create default eval $(docker-machine env default)
export FRAMEWORK=php/lumen; make -f $FRAMEWORK/.Makefile build
Run
export FRAMEWORK=php/lumen; make -f $FRAMEWORK/.Makefile collect
Contributing a new benchmark
Please see CONTRIBUTING.md.
Results
Please take a look at https://web-frameworks-benchmark.vercel.app/result