Test your Uvicorn knowledge with a free interactive quiz — 20 questions with answers and explanations. No signup needed to play.
Question 1/12Score 0
Why might a production deployment run multiple Uvicorn worker processes rather than a single one?
In this round
Why might a production deployment run multiple Uvicorn worker processes rather than a single one?
What is Uvicorn?
Why would enabling Uvicorn's access logging be useful in production, and what is a common reason to disable or reduce it under very high load?
What is a common command to run a FastAPI app in development using Uvicorn?
What does the `--workers` flag do when running Uvicorn directly (without a separate process manager like Gunicorn)?
What does Uvicorn's `--reload` flag do, and why is it typically only used in development?
What does it mean that Uvicorn is described in its own documentation as a "server," not a full web framework?
What role does Python's `asyncio` play underneath Uvicorn's request handling?
Why does FastAPI documentation commonly recommend running a FastAPI app with Uvicorn?
What does Uvicorn's support for HTTP/1.1 and WebSockets specifically enable that a plain WSGI server generally cannot handle natively?
Why is a single Uvicorn worker (using asyncio's cooperative concurrency) potentially problematic for a handler that performs a long, blocking, synchronous CPU-bound operation?
What is a practical reason a team might choose Uvicorn specifically over Gunicorn's default sync workers for a new Python API service?