Skip to content
Cloud Efficiency Hub

Underutilized Snowflake Warehouse

The short version

Underutilized Snowflake warehouses occur when a workload is assigned a larger warehouse size than necessary.

Simar Arora

Value Engineer - FinOps @ Snowflake

Category
Compute
Reference
CER-0168
Type
Overprovisioned Resource

Explanation

Why the waste happens and who it affects.

For example, a workload that could efficiently execute on a Medium (M) warehouse may be running on a Large (L) or Extra Large (XL) warehouse.This leads to unnecessary credit consumption without a proportional benefit to performance. Underutilization is often driven by early provisioning decisions that were not later reassessed, or by a desire for marginal speed improvements that do not justify the increased operational cost.

A specific case is warehouses used to run Snowflake Cortex AI Functions such as AI_COMPLETE or AI_CLASSIFY. These functions are billed separately by tokens, but the calling warehouse keeps billing credits while the query runs. Snowflake recommends a warehouse no larger than MEDIUM for these calls and states that a larger warehouse does not increase performance, so reusing a Large or bigger ETL warehouse for AI batch jobs adds warehouse credits with no benefit.

Billing model

The pricing dimensions that drive this cost.

Snowflake charges based on the size and active runtime of a warehouse. Larger warehouses consume more credits per second of operation compared to smaller sizes, and relevant size should be used depending on workload requirements.

Cortex AI Function queries
Token or page charges for the function, plus the calling warehouse's per-second credits by size while the query runs

How to detect

5 checks to find it in your estate.

  • Analyze historical query activity for each warehouse to assess typical concurrency levels and peak usage patterns
  • Evaluate whether workloads experience query queuing or whether the warehouse is frequently underloaded
  • Review warehouse credit consumption relative to query volume and complexity over a representative time period
  • Confirm with data engineering or application teams whether the warehouse can be downsized without affecting SLAs or performance requirements
  • Join SNOWFLAKE.ACCOUNT_USAGE.CORTEX_AI_FUNCTIONS_USAGE_HISTORY (QUERY_ID, WAREHOUSE_ID, FUNCTION_NAME, MODEL_NAME) to QUERY_HISTORY to find Cortex AI Function queries running on warehouses larger than MEDIUM

How to fix

4 ways to remove the waste.

  • Right-size the Snowflake warehouse by selecting a smaller size (e.g., from L to M, or M to S) that adequately supports workload performance and concurrency needs.
  • Implement a periodic review process to reassess warehouse sizing based on observed usage patterns and changes in workload requirements
  • Coordinate with business and engineering teams to validate any SLA requirements before resizing
  • Route Cortex AI Function workloads to a dedicated warehouse no larger than MEDIUM, as Snowflake recommends, with a short auto-suspend

Documentation

Vendor references for pricing and configuration.