Which is the fastest ASGI server?
ASGI is a specification which allows interoperability of async Python web frameworks and servers. There are several different ASGI servers (Daphne, Hypercorn, Uvicorn).
I was recently doing some load testing for a website, which has to support large numbers of visitors concurrently. I didn't expect there to be any dramatic differences in performance between the different ASGI servers, but even if there's a 20% difference, I'll take it.
It's also a good opportunity to show off Locust, which is a nice load testing tool.
The testing process and results are documented on GitHub.
Results
Uvicorn:
Hypercorn:
Daphne:
Conclusions
Uvicorn achieved roughly 40% more throughput than the others in this test. However, they all did well, and were stable under high load.
Posted on: 28 Feb 2021
Have any comments or feedback on this post? Chat with us on GitHub.