aboutsummaryrefslogtreecommitdiffstats
path: root/test/bench/README.md
blob: 05741c07a1b3508cef32060fdcea826846db0e31 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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