Docker image with Uvicorn managed by Gunicorn for high-performance web applications in Python with performance auto-tuning.
arm64
(e.g. Mac M1). PR #195 by @tiangolo.The highlights of this release are:
python3.6-2022-11-25
.slim
version. PR #40.WORKER_CLASS
TIMEOUT
KEEP_ALIVE
GRACEFUL_TIMEOUT
ACCESS_LOG
ERROR_LOG
GUNICORN_CMD_ARGS
MAX_WORKERS
pip
cache during installation with --no-cache-dir
. PR #13 by @pmav99.PRE_START_PATH
env var. PR #30.PRE_START_PATH
env var. PR #12 by @mgfinch./start-reload.sh
, check the updated documentation. PR #6.WORKERS_PER_CORE
by default to 1
, as it shows to have the best performance on benchmarks.WEB_CONCURRENCY
is not set, to a minimum of 2 workers. This is to avoid bad performance and blocking applications (server application) on small machines (server machine/cloud/etc). This can be overridden using WEB_CONCURRENCY
. This applies for example in the case where WORKERS_PER_CORE
is set to 1
(the default) and the server has only 1 CPU core. PR #5./start.sh
run independently, reading and generating used default environment variables. And remove /entrypoint.sh
as it doesn't modify anything in the system, only reads environment variables. PR #4.Add support for /app/prestart.sh
.