This document outlines the system requirements for running Spice.ai Open Source. Ensure your environment meets these requirements to achieve optimal performance and stability. Note that resource requirements, particularly memory and storage, are highly dependent on workload and data. Specific recommendations are provided later in this document.
Spice.ai supports the following operating systems and architectures:
Spice.ai supports the following Linux distributions:
Recommended minimum hardware specifications:
The following ports are used:
| Description | Port | Required |
|---|---|---|
| HTTP / HTTPS (if TLS is configured) | 8090 | Yes |
| Metrics Endpoint | 9090 | No (disabled by default, enable with --metrics) |
| Arrow Flight / ADBC/ODBC/JDBC | 50051 | Yes |
When deploying Spice.ai on Kubernetes, it is important to configure your pod specifications appropriately to ensure optimal performance. Below are the recommended minimum configurations for CPU and memory requests:
:::tip[CPU Limits]
Avoid setting CPU limits for Spice pods. CPU limits can cause throttling even when CPU is available, leading to degraded query performance and increased latency. Instead, set appropriate CPU requests to guarantee scheduling and allow pods to burst when needed. For more details, see Kubernetes CPU requests and limits.
:::
Spice resource requirements, particularly memory, are highly dependent on workload and data. The following table provides memory recommendations based on the dataset size and refresh_mode:
| Refresh Mode | Memory Recommendation |
|---|---|
refresh_mode: full | 2.5x the dataset size |
refresh_mode: append | 1.5x the dataset size |
See Memory Management and Best Practices for a detailed guide on memory considerations.