Snowflake
Virtual Warehouses: Sizing, Auto-Suspend & Auto-Resume
Configure compute clusters efficiently to balance performance and cost.
A virtual warehouse is Snowflake's unit of compute — an independent cluster of servers that executes queries, loads data, and performs DML operations. Warehouses come in T-shirt sizes from X-Small to 6X-Large, where each size doubles the compute resources (and roughly the credit consumption rate) of the previous size.
A virtual warehouse is like renting a moving truck by the hour — you pick the truck size for the job, and it automatically returns itself (stops billing) the moment you're done unloading.
Key Concepts
1
Auto-suspend automatically pauses a warehouse after a configurable period of inactivity (default varies, commonly set to 60-300 seconds), stopping credit consumption immediately. Auto-resume automatically restarts a suspended warehouse the instant a new query arrives, typically within 1-2 seconds for most sizes.
Auto-suspendAuto-resume
2
Choosing the right warehouse size is a balance: an undersized warehouse causes queries to queue or run slowly (spilling to local/remote disk), while an oversized warehouse wastes credits on unused capacity. The rule of thumb is to size for the workload's largest common query and let scaling policies handle bursts.
3
Warehouses can also be resized on the fly without downtime — running queries continue on the old size while new queries pick up the new size, making it easy to scale up during heavy ETL windows and scale down for light BI usage.