Fix worker count to use CPU affinity correctly and be properly bounded

We were using the `cpu_count`, which doesn't respect container affinity. Now, we use `cpu_affinity` and also bound to make sure we don't start a million workers

Fixes https://jira.coreos.com/browse/QUAY-928
This commit is contained in:
Joseph Schorr 2018-05-03 11:57:20 +03:00
parent e80c56e441
commit b26a131085
7 changed files with 115 additions and 10 deletions

View file

@ -2,16 +2,16 @@ import sys
import os
sys.path.append(os.path.join(os.path.dirname(__file__), "../"))
import multiprocessing
import logging
from Crypto import Random
from util.log import logfile_path
from util.workers import get_worker_count
logconfig = logfile_path(debug=False)
bind = 'unix:/tmp/gunicorn_verbs.sock'
workers = max(int(os.getenv("WORKER_COUNT_VERBS", multiprocessing.cpu_count())), 2)
workers = get_worker_count('verbs', 2, minimum=2, maximum=32)
pythonpath = '.'
preload_app = True
timeout = 2000 # Because sync workers