В моем приложении 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