Home / Frameworks / python
Explore by language
python web framework benchmarks
Benchmark results for 46 python web frameworks, measured with zrk at concurrency 64, 256, 512. Fastest at concurrency 64: peregrine-wsgi with 191 025 requests per second.
Compare throughput and latency together. These measurements describe a specific workload and test environment; performance in your application may differ.
Concurrency 64
python frameworks at concurrency 64, ranked on requests per second.
#
Framework
Requests / second
P50 latency
P99 latency
HTTP errors
1
peregrine-wsgi 1.1
191 025
0.30 ms
0.85 ms
0
2
weft-wsgi 0.1
153 346
0.41 ms
0.52 ms
0
3
fastpysgi-wsgi 0.6
147 137
0.46 ms
0.58 ms
0
4
peregrine-asgi 1.1
118 540
0.55 ms
0.68 ms
0
5
weft-asgi 0.1
118 218
0.53 ms
0.79 ms
0
6
oxapy 0.11
85 921
0.73 ms
1.34 ms
0
7
peregrine-blacksheep 2.6
74 401
0.95 ms
1.14 ms
0
8
emmett 2.7
47 667
1.27 ms
2.98 ms
0
9
asgineer 0.9
43 752
1.46 ms
2.09 ms
0
10
mq-bridge-py 0.2
41 435
1.63 ms
1.86 ms
0
11
lihil 0.2
40 796
1.55 ms
2.19 ms
0
12
blacksheep 2.6
37 653
1.70 ms
2.02 ms
0
13
sanic 25.12
35 793
0.75 ms
9.36 ms
0
14
starlette 1.6
34 625
1.87 ms
2.04 ms
0
15
panther 5.5
34 369
1.84 ms
2.52 ms
0
16
veloce 0.20
33 982
1.93 ms
2.56 ms
0
17
micropie 0.32
33 233
2.11 ms
3.52 ms
0
18
robyn 0.88
32 706
1.92 ms
4.23 ms
0
19
baize-asgi 0.20
32 608
1.93 ms
3.69 ms
0
20
peregrine-fastapi 0.141
28 937
2.34 ms
2.89 ms
0
21
index.py 0.21
28 163
2.27 ms
2.51 ms
0
22
weft-fastapi 0.141
27 889
2.43 ms
4.49 ms
0
23
heaven 2.3
25 234
2.53 ms
3.15 ms
0
24
litestar 2.24
24 306
2.67 ms
3.04 ms
0
25
peregrine-flask 3.1
21 932
2.87 ms
5.75 ms
0
26
aiohttp 3.14
19 746
3.24 ms
3.37 ms
0
27
fastapi 0.141
19 732
3.30 ms
3.66 ms
0
28
peregrine-django 6.1
18 460
3.60 ms
7.57 ms
0
29
responder 9.2
16 822
3.80 ms
4.23 ms
0
30
guillotina 7.1
10 987
5.74 ms
6.44 ms
0
31
quart 0.23
10 698
5.99 ms
7.02 ms
0
32
tornado 6.4
10 058
6.01 ms
17.76 ms
0
33
tonberry 0.2
6 293
9.93 ms
11.76 ms
0
34
klein 24.8
4 631
13.72 ms
17.47 ms
0
35
bottle 0.13
4 533
3.44 ms
14.36 ms
0
36
nameko 2.14
2 922
21.48 ms
29.30 ms
0
37
masonite 5.4
1 198
28.30 ms
173.76 ms
0
38
django-ninja 1.7
1 113
57.36 ms
69.09 ms
0
39
molten 1
997
69.91 ms
194.95 ms
0
40
clastic 26
784
67.18 ms
191.03 ms
0
41
pyramid 2.1
741
122.39 ms
198.62 ms
0
42
flask 3.1
738
99.85 ms
190.75 ms
0
43
falcon 4.2
654
64.09 ms
117.45 ms
0
44
cherrypy 18.10
624
89.09 ms
177.14 ms
0
45
baize-wsgi 0.20
615
96.03 ms
208.70 ms
0
46
django 6.1
527
37.30 ms
135.94 ms
0
Concurrency 256
python frameworks at concurrency 256, ranked on requests per second.
#
Framework
Requests / second
P50 latency
P99 latency
HTTP errors
1
peregrine-wsgi 1.1
176 303
1.44 ms
1.60 ms
0
2
weft-wsgi 0.1
143 334
1.73 ms
2.24 ms
0
3
fastpysgi-wsgi 0.6
138 117
1.81 ms
2.14 ms
0
4
peregrine-asgi 1.1
120 339
2.16 ms
2.52 ms
0
5
weft-asgi 0.1
118 361
1.95 ms
3.12 ms
0
6
oxapy 0.11
115 040
2.19 ms
4.32 ms
0
7
peregrine-blacksheep 2.6
78 983
3.23 ms
3.97 ms
0
8
emmett 2.7
64 903
3.97 ms
6.21 ms
0
9
asgineer 0.9
42 915
6.04 ms
6.28 ms
0
10
mq-bridge-py 0.2
41 340
6.26 ms
7.28 ms
0
11
lihil 0.2
39 844
6.50 ms
6.83 ms
0
12
blacksheep 2.6
37 329
6.88 ms
7.27 ms
0
13
robyn 0.88
37 253
6.71 ms
14.40 ms
0
14
sanic 25.12
36 188
7.32 ms
18.41 ms
0
15
starlette 1.6
34 324
7.48 ms
7.78 ms
0
16
panther 5.5
33 901
7.58 ms
7.94 ms
0
17
micropie 0.32
33 891
7.75 ms
14.01 ms
0
18
veloce 0.20
33 532
7.72 ms
8.03 ms
0
19
baize-asgi 0.20
31 998
7.98 ms
8.46 ms
0
20
peregrine-fastapi 0.141
29 580
8.81 ms
10.41 ms
0
21
weft-fastapi 0.141
28 578
8.47 ms
13.69 ms
0
22
index.py 0.21
28 166
9.09 ms
9.58 ms
0
23
heaven 2.3
25 235
10.16 ms
10.73 ms
0
24
litestar 2.24
24 040
10.71 ms
11.51 ms
0
25
peregrine-flask 3.1
21 555
12.02 ms
13.57 ms
0
26
fastapi 0.141
19 345
13.43 ms
14.22 ms
0
27
aiohttp 3.14
18 492
13.84 ms
14.13 ms
0
28
peregrine-django 6.1
18 240
14.00 ms
15.94 ms
0
29
responder 9.2
16 604
15.39 ms
16.42 ms
0
30
guillotina 7.1
10 413
24.12 ms
32.93 ms
0
31
quart 0.23
10 367
24.53 ms
27.57 ms
0
32
tornado 6.4
10 245
20.93 ms
61.22 ms
0
33
tonberry 0.2
6 017
41.72 ms
45.67 ms
0
34
klein 24.8
4 397
57.66 ms
75.81 ms
0
35
bottle 0.13
3 577
3.22 ms
37.33 ms
0
36
nameko 2.14
2 673
91.72 ms
127.50 ms
0
37
molten 1
1 421
63.44 ms
450.98 ms
0
38
clastic 26
1 330
70.85 ms
805.96 ms
0
39
pyramid 2.1
1 258
77.89 ms
807.96 ms
0
40
falcon 4.2
1 210
96.87 ms
750.68 ms
0
41
flask 3.1
1 210
102.53 ms
973.27 ms
0
42
baize-wsgi 0.20
1 198
107.39 ms
897.90 ms
0
43
masonite 5.4
1 136
33.71 ms
767.23 ms
0
44
django 6.1
1 098
166.49 ms
698.55 ms
0
45
cherrypy 18.10
1 087
111.28 ms
1107.41 ms
0
46
django-ninja 1.7
1 074
236.27 ms
287.62 ms
0
Concurrency 512
python frameworks at concurrency 512, ranked on requests per second.
#
Framework
Requests / second
P50 latency
P99 latency
HTTP errors
1
peregrine-wsgi 1.1
173 486
2.94 ms
3.29 ms
0
2
weft-wsgi 0.1
141 339
3.51 ms
4.12 ms
0
3
fastpysgi-wsgi 0.6
136 435
3.70 ms
4.15 ms
0
4
oxapy 0.11
124 562
4.02 ms
7.72 ms
0
5
peregrine-asgi 1.1
118 404
4.44 ms
5.12 ms
0
6
weft-asgi 0.1
113 377
4.43 ms
6.00 ms
0
7
peregrine-blacksheep 2.6
80 153
6.33 ms
7.31 ms
0
8
emmett 2.7
65 050
7.29 ms
12.59 ms
0
9
asgineer 0.9
41 817
12.30 ms
12.93 ms
0
10
mq-bridge-py 0.2
41 392
12.41 ms
14.32 ms
0
11
lihil 0.2
39 491
13.20 ms
13.81 ms
0
12
robyn 0.88
37 420
12.56 ms
29.63 ms
0
13
blacksheep 2.6
36 942
13.92 ms
14.49 ms
0
14
sanic 25.12
36 078
14.50 ms
28.27 ms
0
15
starlette 1.6
33 942
15.11 ms
15.79 ms
0
16
micropie 0.32
33 820
15.50 ms
24.95 ms
0
17
panther 5.5
33 353
15.40 ms
16.11 ms
0
18
veloce 0.20
33 006
15.64 ms
16.42 ms
0
19
baize-asgi 0.20
31 133
16.40 ms
17.20 ms
0
20
peregrine-fastapi 0.141
29 749
17.27 ms
19.37 ms
0
21
weft-fastapi 0.141
28 483
17.27 ms
29.66 ms
0
22
index.py 0.21
26 717
19.04 ms
20.99 ms
0
23
heaven 2.3
25 195
20.29 ms
21.31 ms
0
24
litestar 2.24
23 779
21.55 ms
22.61 ms
0
25
peregrine-flask 3.1
21 271
23.85 ms
27.93 ms
0
26
fastapi 0.141
19 153
27.19 ms
28.81 ms
0
27
aiohttp 3.14
18 089
28.26 ms
28.88 ms
0
28
peregrine-django 6.1
18 086
28.17 ms
32.26 ms
0
29
responder 9.2
16 271
31.32 ms
33.19 ms
0
30
tornado 6.4
10 146
38.79 ms
122.17 ms
0
31
guillotina 7.1
10 123
49.89 ms
82.14 ms
0
32
quart 0.23
9 810
50.61 ms
83.81 ms
0
33
tonberry 0.2
5 883
83.74 ms
299.48 ms
0
34
klein 24.8
4 519
110.60 ms
136.31 ms
0
35
bottle 0.13
3 724
5.05 ms
432.77 ms
0
36
nameko 2.14
2 688
179.05 ms
264.66 ms
0
37
masonite 5.4
1 172
235.81 ms
1363.46 ms
0
38
django-ninja 1.7
1 026
486.44 ms
929.71 ms
0
39
falcon 4.2
972
2132.27 ms
5157.03 ms
0
40
baize-wsgi 0.20
931
2524.08 ms
5912.06 ms
0
41
pyramid 2.1
928
2359.44 ms
5776.90 ms
0
42
molten 1
880
2088.89 ms
5898.41 ms
0
43
clastic 26
869
2451.61 ms
5798.40 ms
0
44
flask 3.1
859
2376.91 ms
5820.25 ms
0
45
django 6.1
846
1778.63 ms
5659.48 ms
0
46
cherrypy 18.10
747
2138.24 ms
5892.61 ms
0