Skip to main content
For non-SmithDB LangSmith services, see Configure LangSmith for scale.
Use these tested tiers as starting configurations for SmithDB. Connect SmithDB to your monitoring stack before you tune capacity, so you can observe the effect of each change. See Configure SmithDB observability.

Choose and scale a tier

The tiers are not throughput limits or prescribed configurations. CPU, memory, and cache size are per replica. Cache size is the volume each replica gets: the claim size on a network-attached disk, or the emptyDir limit on local SSD. Choose the tier whose tested ingestion and query rates most closely match or exceed your expected steady-state load. To estimate your current trace volume, open Settings > Usage in LangSmith. See Granular billable usage. If you cannot measure your load, start at small and scale up. Under-sizing shows up as slower ingestion and queries rather than data loss. Apply the per-replica resources and starting replica counts from the selected tier. If the workload later outgrows that starting point, you can scale SmithDB compute horizontally.
SmithDB query, ingestion, and compaction-worker HPAs are enabled by default. They require Kubernetes Metrics Server or another metrics.k8s.io provider. Verify availability with kubectl get --raw /apis/metrics.k8s.io/v1beta1.

Scale with KEDA instead

KEDA scaling for SmithDB compaction workers requires Helm chart 0.17.0 or later.
SmithDB compaction workers can scale on queue depth through KEDA rather than the CPU-based HPA. This suits bursty compaction backlogs, where queue depth rises before CPU does. LangSmith uses the same KEDA installation for its own queues; see KEDA autoscaling for LangSmith queues to install and configure it. Enable the KEDA scaler for compaction workers:
Use either the HPA or KEDA for a component, not both.

Baseline tiers

Configure resources with Helm

The chart defaults to small. Select small, medium, or large:
On LangSmith 0.17 the tier’s cache size becomes the generated claim’s capacity. On 0.16 it is the ephemeral-storage request and limit, which also sizes the generated emptyDir. Replica counts and autoscaling are configured separately. An explicit component resources block replaces the tier’s CPU and memory. On 0.17 it does not change the cache size; pick a different tier or override deployment.volumes for that. For local SSD values, see Cache storage. See SmithDB resource tiers for current values and chart details.
This example overrides the query component at medium-tier sizes.
The cache claim stays at the tier size. These values request no node storage.

Metastore capacity

The baseline tiers cover SmithDB Kubernetes workloads only. They do not include the PostgreSQL metastore. Use these starting points for a dedicated metastore: Choose the nearest supported PostgreSQL instance shape from your provider and monitor database resource use and transaction latency during rollout.