Уведомления

Группа в Telegram: @pythonsu

#1 Март 23, 2016 16:02:14

raza
Зарегистрирован: 2016-03-23
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

uWSGI processes и threads

На что влияют настройки 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 (Март 23, 2016 16:03:12)

Офлайн

#2 Март 23, 2016 16:31:19

raza
Зарегистрирован: 2016-03-23
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

uWSGI processes и threads

Оказывается, если открывать в разных браузерах, а не вкладках, то запросы обрабатываются параллельно.
Получается, вопрос снят.

Офлайн

#3 Март 23, 2016 16:34:35

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2578
Репутация: +  58  -
Профиль   Отправить e-mail  

uWSGI processes и threads

сессия же



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#4 Март 23, 2016 16:46:01

raza
Зарегистрирован: 2016-03-23
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

uWSGI processes и threads

ZerG
сессия же
Это то самое ограничение сессии из-за которого и все стили/скрипты на странице собирают в один файл, чтобы отдать одним запросом?
И в http2 запросы с разных вкладок обрабатывались бы параллельно, а не поочередно?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version