Найти - Пользователи
Полная версия: uWSGI processes и threads
Начало » Web » uWSGI processes и threads
1
raza
На что влияют настройки processes и threads в конфиге uwsgi?
Погуглив, я сделал вывод, что если мы запускаем 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 файле делают совсем не то, чего я от них ожидаю?
raza
Оказывается, если открывать в разных браузерах, а не вкладках, то запросы обрабатываются параллельно.
Получается, вопрос снят.
ZerG
сессия же
raza
ZerG
сессия же
Это то самое ограничение сессии из-за которого и все стили/скрипты на странице собирают в один файл, чтобы отдать одним запросом?
И в http2 запросы с разных вкладок обрабатывались бы параллельно, а не поочередно?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB