mitmproxy/test/bench
Aldo Cortesi b663a224a3 Improve benchmarking
- The benchmark addon now manages setting up and tearing down the backend and
traffic processes itself.
- Use wrk instead of hey. I get more consistent results with this tool, and hey
shows a strange tail-latency bump that seems artificial.
- Make termination behaviour simpler. The bencmark revealed a bug where .done
events were not called if the proxy was shut down by an addon.
2018-04-16 09:19:14 +12:00
..
.gitignore bench: Add some very simple manual benchmarking helpers 2018-03-17 10:06:46 +13:00
benchmark.py Improve benchmarking 2018-04-16 09:19:14 +12:00
README.md Improve benchmarking 2018-04-16 09:19:14 +12:00
run Improve benchmarking 2018-04-16 09:19:14 +12:00

This directory contains an addon for benchmarking and profiling mitmproxy. At the moment, this is simply to give developers a quick way to see the impact of their work. Eventually, this might grow into a performance dashboard with historical data, so we can track performance over time.

Setup

Install the following tools:

https://github.com/wg/wrk

go get github.com/cortesi/devd/cmd/devd

You may also want to install snakeviz to make viewing profiles easier:

pip install snakeviz

Now run the benchmark by loading the addon. A typical invocation is as follows:

mitmdump -p0 -q --set benchmark_save_path=/tmp/foo -s ./benchmark.py

This will start up the backend server, run the benchmark, save the results to /tmp/foo.bench and /tmp/foo.prof, and exit.