All Projects → miguelgrinberg → python-web-perf

miguelgrinberg / python-web-perf

Licence: other
Python web server and web framework benchmark.

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects
Dockerfile
14818 projects

Python webserver performance comparison

Heavily based on Cal Paterson's benchmark, with some bugs fixed and some new web servers and web frameworks added.

A description of this benchmark and some results are published in my article Ignore All Web Performance Benchmarks, Including This One.

Benchmark code

You can find the implementations of this benchmark for the different web frameworks, as well as the startup commands for all web servers, in the src directory.

Running the benchmark

The run-docker.sh command creates containers for nginx, pgbouncer and postgres and sets them up for the test. Then it builds a local image with all the application code and server startup scripts. It finally runs each of the tests in random order by starting a web server container and a load generator container. To run one or more specific tests you can pass the test name(s) as arguments. The list of available tests is in the file tests.txt.

Look at the top of run-docker.sh for the list of environment variables that configure the test environment.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].