Проблема с памятью у рабочих-пулеметчиков в приложении flask с предварительно загруженным словарем stati c - PullRequest
0 голосов
/ 13 июля 2020

В моем приложении flask на машине Ubuntu я загружаю словарь python (Python3 .6) размером 1 ГБ в память и использую опцию preload в Gunicorn, чтобы поделиться им между рабочими. Словарь действует как статический c ресурс для приложения, и поэтому не ожидается, что он изменится.

Однако было замечено, что потребление памяти приложением примерно равно num_workers * dictionary size, возможно, предполагая, что словарь копируется в каждом рабочем процессе.

Каков наилучший метод для отладки вышеуказанной гипотезы? Есть ли лучший способ поделиться стати c словарем между рабочими-пулеметчиками?

Команда Gunicorn: gunicorn --workers 2 -b 0.0.0.0:8030 --timeout 800 --preload app

...