Обновление глобального пула ресурсов в Python приводит к блокировке запросов
Бэкдроп: Основы сервиса: Фреймворк Django, сервис с интенсивным использованием процессора, запуск пяти процессов uwsgi
Поскольку базовый ресурс сервиса очень велик (2G), существует несколько версий, и эту переменную нельзя травить, она выполнена в виде пяти процессов
Форма этого ресурса выглядит следующим образом:
GResource = {'key_1':resource_1, 'key_2':resource_2,'key_3':resource_3}
Каждый запрос обращается к этой глобальной переменной GResource
. В то же время, GResource
обновляется BackgroundScheduler каждые две минуты
Мониторинг времени запроса показывает, что когда цикл 'GResource' обновляется, время запроса будет выше, чем обычно, обычно от 50 до 300 мс или даже выше
Могу я спросить, почему
?