Погуглив, я сделал вывод, что если мы запускаем 5 процессов, то сможем обрабатывать 5 запросов одновременно. Для проверки я написал приложение, которое дает ответ только через пять секунд:
from time import sleep from datetime import datetime from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): sleep(5) return str(datetime.now()) if __name__ == '__main__': app.run()
И добавил в конфиг необходимое количество процессов (согласно документации 2 * CPU CORES + 1)
[uwsgi] ;master = true processes = 5 ;threads = 5 ;enable-threads = True chdir = . module = test_uwsgi callable = app http-socket=127.0.0.1:8080
После чего одновременно в нескольких вкладках обновил страницу 127.0.0.1:8080, но запросы обработались не параллельно, как я ожидал, а поочередно. Я также пробовал разные значения threads и workers (workers, судя по ответу на stackoverflow, является синонимом processes), но запросы все равно обрабатываются поочередно.
Я что-то делаю/понимаю не так, и эти настройки в .ini файле делают совсем не то, чего я от них ожидаю?