What is a typical hub start-up time?#
User server startup time ranges from a few seconds to 10 minutes, depending on two main factors:
Factor 1: Resources available on a node#
When a server starts, it requests resources from a node.
If a node already exists with sufficient resources:
Server creation takes only a few seconds
If a suitable node doesn’t exist or lacks resources:
The autoscaler creates a new node, which takes 2 to 10+ minutes
Node creation time depends on the cloud provider and machine type (larger machines like GPUs often take longer)
If startup exceeds 10 minutes, you’ll see a
TimeoutErrorand need to restart your server to use the newly created nodeThis timeout is uncommon but can occur with certain machine types
Factor 2: Environment image availability#
When a user server starts, JupyterHub then finds and loads the environment image, which contains all the tools available to the user.
If the image is already on the node:
Server startup is much faster since no download is needed
If the environment image isn’t on the node:
The image must be pulled from the container registry
This takes a few minutes depending on image size and network conditions
Image pulling always happens if a new node was just created
Important
Startup time can be reduced through strategies like maintaining minimum node counts or pre-pulling images, but these increase costs. Learn more about balancing responsiveness and cost in How to balance cloud responsiveness and cost.