Написал тривиальную заглушку:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import falcon
class Api:
def on_get(self, req, resp):
resp.body = ""
app = falcon.API()
app.add_route("/",Api())
gunicorn -w 25 -b 127.0.0.1:8000 test:app
Проверил с помощью apache2-utils:
ab -n20000 -c20 http://127.0.0.1:8000/
Выдало 3000 req/s, 6,7 ms/req.
Если сделать подобное на Flask:
#!/usr/bin/python
# -*- coding: utf-8 -*-
from flask import Flask
app = Flask(__name__)
@app.route('/', methods=["GET"])
def index():
return ""
from werkzeug.contrib.fixers import ProxyFix
app.wsgi_app = ProxyFix(app.wsgi_app)
if __name__ == "__main__":
app.run(host = "127.0.0.1", port = 5500)
gunicorn -w 25 -b 127.0.0.1:5500 test:appи
ab -n20000 -c20 http://127.0.0.1:5500/даёт 2000 req/s и задержку 10 ms/req.
Откуда официальный бенчмарк с CPython даёт 37 тыс req/s?
https://falconframework.org/
и рост производителности Flask -> Falcon в 10 раз. У меня получился рост числа запросов в полтора раза.