diff options
author | Aldo Cortesi <aldo@corte.si> | 2018-03-17 10:06:46 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@corte.si> | 2018-03-17 10:06:46 +1300 |
commit | c5ad026cbe21e1dfe1d189dfd7f7f0751b7dbb75 (patch) | |
tree | a38d8e14264877e1a9a74d10c8d6770493071833 /test/bench/README.md | |
parent | ca75e2738ab9f783cb9a4e675e8353b98eb208fc (diff) | |
download | mitmproxy-c5ad026cbe21e1dfe1d189dfd7f7f0751b7dbb75.tar.gz mitmproxy-c5ad026cbe21e1dfe1d189dfd7f7f0751b7dbb75.tar.bz2 mitmproxy-c5ad026cbe21e1dfe1d189dfd7f7f0751b7dbb75.zip |
bench: Add some very simple manual benchmarking helpers
This includes a profiler addon that we might consider for promotion to a
builtin down the track.
Diffstat (limited to 'test/bench/README.md')
-rw-r--r-- | test/bench/README.md | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/test/bench/README.md b/test/bench/README.md new file mode 100644 index 00000000..05741c07 --- /dev/null +++ b/test/bench/README.md @@ -0,0 +1,56 @@ + +This directory contains a set of tools 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: + + go get -u github.com/rakyll/hey + go get github.com/cortesi/devd/cmd/devd + +You may also want to install snakeviz to make viewing profiles easier: + + pip install snakeviz + +In one window, run the devd server: + + ./backend + + +# Running tests + +Each run consists of two files - a mitproxy invocation, and a traffic generator. +Make sure the backend is started, then run the proxy: + + ./simple.mitmproxy + +Now run the traffic generator: + + ./simple.traffic + +After the run is done, quit the proxy with ctrl-c. + + +# Reading results + +Results are placed in the ./results directory. You should see two files - a +performance log from **hey**, and a profile. You can view the profile like so: + + snakeviz ./results/simple.prof + + + + + + + + + + + + + |